суббота, 13 мая 2017 г.

Установка ubuntu 16.04.2 server u16

ubuntu 16.04.2 server - u16
Предустановлены ssh samba
Програмный RAID 0 без раздела подкачки.

$ sudo -i
# apt update -y
# apt upgrade -y
# apt install mc htop -y
# reboot
$ sudo -i
How To Add Swap Space on Ubuntu 16.04

Создание:
# fallocate -l 8G /swapfile
Проверка:
# ls -lh /swapfile
-rw-r--r-- 1 root root 8,0G май 13 13:14 /swapfile
Подключение:
# chmod 600 /swapfile
Проверка:
# ls -lh /swapfile
-rw------- 1 root root 8,0G май 13 13:14 /swapfile

 # mkswap /swapfile
Setting up swapspace version 1, size = 8 GiB (8589930496 bytes)
без метки, UUID=870205f2-31db-4977-a89e-f3e283ff91f9

Старт:
# swapon /swapfile
Посмотрим:
# swapon --show
NAME      TYPE SIZE USED PRIO
/swapfile file   8G   0B   -1
# free -h
              total        used        free      shared  buff/cache   available
Память:         31G        145M         30G        9,7M        231M         30G
Подкачка:        8,0G          0B        8,0G

Сделать перманентным:

# cp /etc/fstab /etc/fstab.bak
# echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Посмотреть:
# nano /etc/fstab
В конце файла:
/swapfile none swap sw 0 0


# cat /proc/sys/vm/swappiness
60
По умолчанию установлено значение 60. Если это значение ближе к 100, система будет пытаться поместить в подкачку больше данных и сберечь память, при значениях близких к нулю, ядро не переносит данные на диск, если в этом нет крайней необходимости.

 Другой параметр, который влияет на количество используемой памяти - это vfs_cache_pressure. Он указывает системе какое время нужно хранить открытые файлы в кэше оперативной памяти. Значение 100 заставляет систему удалять такие файлы очень быстро, 0 - держать их в памяти как можно дольше. Посмотрите текущее состояние:

# cat /proc/sys/vm/vfs_cache_pressure
100
 
# nano /etc/sysctl.conf
В конец
vm.swappiness=0
vm.vfs_cache_pressure = 50
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Сохранить.
Применить сразу:
# sysctl -p

Отключим службу ondemand
(для разгона cpu)

# cat /proc/cpuinfo | grep MHz
# systemctl status ondemand
# systemctl stop ondemand
# systemctl disable ondemand



!!!# /etc/init.d/ondemand stop
!!!# update-rc.d -f ondemand remove

 Отключим службу apparmor
(для проброса hasp в kvm)

!!!# systemctl status apparmor
!!!# systemctl stop apparmor
!!!# systemctl disable apparmor

# /etc/init.d/apparmor stop
# update-rc.d -f apparmor remove
 
# reboot

$ sudo -i
Проверки:
# cat /proc/cpuinfo | grep MHz
# /etc/init.d/apparmor status
# hdparm -Tt /dev/md0
# free -h
# cat /proc/sys/vm/swappiness
# cat /proc/sys/vm/vfs_cache_pressure
-----------------------------------------------------------------------------------------
Монтирование дисков
Когда добавлял  диски создать выровненный раздел parted не сумел.
Загружался live cd и использовал gparted.
# fdisk -l
Диск /dev/sdc: 2,7 TiB, 3000592982016 байтов, 5860533168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 4096 байт
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Тип метки диска: gpt
Идентификатор диска: 51E21A8B-9BD7-4B69-9C70-D33C6862CEEB


Диск /dev/sdd: 2,7 TiB, 3000592982016 байтов, 5860533168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 4096 байт
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Тип метки диска: gpt
Идентификатор диска: 7238D5C7-5FD6-496E-BBB3-C5AE631C3B33

# mkdir /mnt/sdc
# mount /dev/sdc1 /mnt/sdc -t auto
!!!# umount /dev/sdc1

# mkdir /mnt/sdd
# mount /dev/sdd1 /mnt/sdd -t auto
!!!# umount /dev/sdd1
 
Автомонтирование по uuid
# ls -l /dev/disk/by-uuid
итого 0
lrwxrwxrwx 1 root root 10 июн 14 11:55 5238c225-69c3-4c28-a633-5177867f0696 -> ../../sdd1
lrwxrwxrwx 1 root root 10 июн 14 11:55 6fdbec45-51c5-426b-a11c-e9309367c0e2 -> ../../sdc1
lrwxrwxrwx 1 root root  9 июн 14 11:55 8fd9fab9-d768-4170-9b8f-26dc4fd017f8 -> ../../md0

# nano /etc/fstab
Добавить:
UUID=6fdbec45-51c5-426b-a11c-e9309367c0e2 /mnt/sdc ext4 defaults 0 0
UUID=5238c225-69c3-4c28-a633-5177867f0696 /mnt/sdd ext4 defaults 0 0 
Сохранить.
-----------------------------------------------------------------------------------------
Настройка сети на статический адрес
Смотрим ip
# ifconfig
В нашем случае 192.168.0.98 nic enp1s0

Красным для dhcp, но без dhcp в сети
сервер не гузится 5 мин

auto lo
iface lo inet loopback

# Setup bridge
auto br0
iface br0 inet dhcp
bridge_ports enp1s0
bridge_fd 0


# nano /etc/network/interfaces 
 
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto enp1s0
#iface enp1s0 inet dhcp

##Bridge  Name ###
auto br0

### Bridge Information
iface br0 inet static
bridge_ports enp1s0
bridge_stp off
bridge_fd 9
 
### Bridge IP ###
address 192.168.0.98
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
#dns-nameservers 192.168.0.1 8.8.8.8
dns-nameservers 192.168.0.1
 
Сохранить. 
 
 
Setup Linux Container with LXC on Ubuntu 16.04 
 
# apt-get install lxc lxc-templates wget bridge-utils -y 


Disable the default bridge “lxcbr0“, got created as part of LXC installation.

# nano /etc/default/lxc-net

USE_LXC_BRIDGE="false"

Сохранить.

# nano /etc/lxc/default.conf

lxc.network.type = veth
lxc.network.link = br0 # Replace with your bridge name
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:xx:xx:xx

Сохранить.

# nano /etc/dnsmasq.d/lxc

 except-interface=br0

Сохранить.

# reboot

$ sudo -i
# ifconfig
# ls /usr/share/lxc/templates/
Созадать контейнер:
# lxc-create -t ubuntu -n zesty_lxc -- -r zesty -a amd64
# lxc-create -t ubuntu -n precise_lxc -- -r precise -a amd64
# lxc-create -t ubuntu -n trusty_lxc -- -r trusty -a amd64
# lxc-create -t ubuntu -n xenial_lxc -- -r xenial -a amd64

Для каждого контейнера настроим часовой пояс:
Настроим часовой пояс Москва.
# dpkg-reconfigure tzdata 

Сохранение контейнера zesty_lxc :
# cd  /var/lib/lxc/
# tar -cvzf  zesty_lxc.tar.gz ./zesty_lxc
 
Сохранение контейнера trusty_lxc :
# cd  /var/lib/lxc/
# tar -cvzf  trusty_lxc.tar.gz ./trusty_lxc

Сохранение контейнера xenial_lxc :
# cd  /var/lib/lxc/
# tar -cvzf  xenial_lxc.tar.gz ./xenial_lxc

Сохранение контейнера precise_lxc :
# cd  /var/lib/lxc/
# tar -cvzf  precise_lxc.tar.gz ./precise_lxc

Восстановление контейнера precise_lxc :
# cd  /var/lib/lxc/
# tar xvzf precise_lxc.tar.gz

------------------------------------------------------------------------------------------------
Управление логгированием в systemd 
How To Use Journalctl to View and Manipulate Systemd Logs  
 
Включить журналирование (предыдущих загрузок) 
$ sudo nano /etc/systemd/journald.conf
...
[Journal]
Storage=persistent
 
Сохранить. 
 
Просмотреть список предыдущих загрузок можно с помощью команды:



# journalctl --list-boots
-4 7e4b4a292e224c4b91f75dd3d5e27f90 Wed 2017-04-26 11:41:00 MSK—Wed 2017-04-26 13:14:40 MSK
-3 67b91d39230143d38896bff6cfa275b5 Wed 2017-04-26 13:25:21 MSK—Wed 2017-04-26 14:17:01 MSK
-2 83a94b9974f543089777590f34880167 Wed 2017-04-26 14:51:49 MSK—Wed 2017-04-26 15:36:54 MSK
-1 9f98d47a66b84952ba5ef9d9c7ed0ccd Wed 2017-04-26 15:37:14 MSK—Wed 2017-04-26 15:37:56 MSK
 0 dab2faae33b8461aba00f0a7dac9f2c2 Wed 2017-04-26 15:41:34 MSK—Wed 2017-04-26 15:42:58 MSK
 
Просмотр предыдущей загрузки 
# journalctl -b -1
 
Просмотр последней загрузки
# journalctl -b
 
# journalctl --since 10:00 --until "3 hours ago"
---------------------------------------------------------------------
 
Перестаем бояться виртуализации при помощи KVM 
Еще хорошо про KVM 
How to use KVM from the command line on Debian or Ubuntu 
KVM/Networking
 
Установка kvm
Настроим сетевой мост br0 до инсталляции kvm (настроен lxc)
# apt-get update -y
# apt-get upgrade -y  
# apt-get install qemu-kvm libvirt-bin virtinst -y
!!!# apt-get install virt-manager
user уже в libvirtd
!!!# usermod -a -G libvirtd user

Удаляем мост по умолчанию virbr0

# ip link set dev virbr0 down
# brctl delbr virbr0 
# virsh net-destroy default
# virsh net-undefine default
# service libvirtd restart

# reboot
---------------------------------------------------------------------------
$ sudo -i
Заточено, дальше настройка.

Настройка kvm
Копируем машины в /var/lib/libvirt/images
Копируем описания xml в /etc/libvirt/qemu
Восстанавливаем:
# virsh define /etc/libvirt/qemu/w_2012.xml
Домен w_2012 определён на основе /etc/libvirt/qemu/w_2012.xml

Для доступа vnc с любого адреса (если не настроено раньше)
# virsh edit w_2012

<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' passwd='12345'>
<listen type='address' address='0.0.0.0'/>
</graphics>

Еще правильнее для всех виртуальных машин:
# nano /etc/libvirt/qemu.conf

vnc_listen = "0.0.0.0"
# Пароль не более восьми символов
vnc_password = "password"


Сохранить.

# netstat -ant | grep 5900
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN

Запуск машины
 # virsh start w_2012
Домен w_2012 запущен

Запущенные машины:
 # virsh list

Посмотреть номер порта vnc 5900:
# virsh vncdisplay w_2012
:0

Подключение vnc:
u16:0

Выключение машины
# virsh shutdown w_2012

Если хочется управлять с gui развернем виртуалку для управления.
Установка ubuntu 17.04 desktop

Для работы с консолью виртуальной машины, лучше подключаться под vnc из win,
или нативный linux, чем из linux под virtualbox ибо это vnc через vnc.

Развернем desktop:
(у меня заточенный контейнер, с доступом по xrdp)
Восстановление контейнера (сначала скопировать)
# cd /var/lib/lxc
# tar xvzf virt.tar.gz 
# lxc-start -n virt -d 
# lxc-ls -f

Сохранение контейнера virt  :
# cd  /var/lib/lxc/
# tar -cvzf  virt.tar.gz ./virt



войдем по xrdp на virt:

root@virt:~# ssh user@192.168.0.98
 

Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:2
  remove with: ssh-keygen -f "/root/.ssh/known_hosts" -R 192.168.0.98
 

Сделаем что просят:
root@virt:~# ssh-keygen -f "/root/.ssh/known_hosts" -R 192.168.0.98
еще раз зайдем:
root@virt: ssh user@192.168.0.98
yes
Ctrl+D

root@virt:~# virt-manager

Подключимся по ip 
 
!!!# apt-get install virt-manager


Фишка этой версии 12.04 в том что открыть vnc
для всех интерфейсов можно только через xml ??? 
# virsh edit w_2012


С паролем
<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' passwd='12345'>
 <listen type='address' address='0.0.0.0'/>
</graphics>

Без пароля
<graphics type='vnc' port='5900' autoport='no' listen='0.0.0.0'>
   <listen type='address' address='0.0.0.0'/>

 </graphics>

# virsh vncdisplay w_2012-clone
:0

Подключение vnc:
u16:0

Virsh — управление виртуальными машинами KVM

Запущенные машины:
# virsh list

Выключенные машины
# virsh list --inactive

Запуск машины
# virsh start w_2012-clone

Выключение машины
# virsh shutdown w_2012-clone

Запущенные машины:
 # virsh list

# virsh vncdisplay w_2012-clone
:0

Подключение vnc:
i7:0

Ограничения для USB устройств в KVM

  • USB протокол 1.1
  • Устройство должно быть подключено до запуска KVM
  • Нужны изменения Apparmor
Для работы hasp отключаем apparmor 
# nano /etc/apparmor.d/abstractions/libvirt-qemu

# /etc/init.d/apparmor stop
# update-rc.d -f apparmor remove

!!!# systemctl status apparmor
!!!# systemctl stop apparmor
!!!# systemctl disable apparmor
# reboot

Запуск машины
# virsh start w_2012-clone

Резервное копирование машин
По умолчанию xml в /etc/libvirt/qemu
Сохранить можно так:
# virsh dumpxml w_2012-clone > /tmp/w_2012-clone.xml
# virsh dumpxml w_2012 > /tmp/w_2012.xml

Восстановить так:   # virsh define /tmp/w_2012-clone.xml
# virsh define /tmp/w_2012.xml

или

# virsh define /etc/libvirt/qemu/w_2012-clone.xml
# virsh define /etc/libvirt/qemu/w_2012.xml

Далее, запуск машины
# virsh start w_2012-clone



 
____________________________________________________ 

Настройка Ubuntu для работы с ИБП от APC
 
# lsusb
Bus 001 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
# apt-get install apcupsd -y
# nano /etc/apcupsd/apcupsd.conf

#UPSCABLE smart
UPSCABLE usb
......
#UPSTYPE apcsmart
UPSTYPE usb
#DEVICE /dev/ttyS0

# Для проверки можно 30 (потом убрать )
TIMEOUT 0

Сохранить.
Настроим /etc/default/apcupsd 
Заменяем ISCONFIGURED=no на ISCONFIGURED=yes , сохраняем, закрываем. Отныне apcupsd будет знать, что мы не забыли его настроить.


# nano /etc/default/apcupsd

#ISCONFIGURED=no
ISCONFIGURED=yes


Сохранить.


Теперь достаточно запустить apcupsd:

# /etc/init.d/apcupsd start
Starting UPS power management: apcupsd.
# /etc/init.d/apcupsd status

____________________________________________________
 
 

Комментариев нет:

Отправить комментарий