среда, 26 апреля 2017 г.

Использование journalctl для управления журналированием в systemd

Управление логгированием в 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" 
 
 
Вывести ошибки последней загрузки 
$ journalctl -b -p err   

понедельник, 24 апреля 2017 г.

Установка ubuntu 17.04 server i7

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

$ sudo -i
# apt update -y
# apt upgrade -y
# apt install mc htop -y

# cat /proc/sys/vm/swappiness
60

# nano /etc/sysctl.conf

В конец:
 
vm.swappiness = 0
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

Отключим службу 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
cpu MHz         : 3400.664

# hdparm -Tt /dev/md0
/dev/md0:
 Timing cached reads:   31570 MB in  2.00 seconds = 15808.17 MB/sec
 Timing buffered disk reads: 3180 MB in  3.00 seconds = 1059.85 MB/sec

# cat /proc/sys/vm/swappiness
0
# free
              всего        занято        свободно      общая  буф./врем.   доступно
Память:    32797356      199864    32341028        9800      256464    32202848
Подкачка:     2097148           0     2097148

Смотрим 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
 
Сохранить. 
 
 
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-alpine     lxc-busybox  lxc-debian    lxc-gentoo        lxc-oracle     lxc-sparclinux  lxc-ubuntu-cloud
lxc-altlinux   lxc-centos   lxc-download  lxc-openmandriva  lxc-plamo      lxc-sshd
lxc-archlinux  lxc-cirros   lxc-fedora    lxc-opensuse      lxc-slackware  lxc-ubuntu 

Созадать контейнер:

# 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


Сохранение контейнера 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 xvzf precise_lxc.tar.gz

____________________________________________________

Настройка Ubuntu для работы с ИБП от APC

# lsusb
Bus 001 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply

# apt-get install apcupsd -y

(по сути закоментировать одну строчку #DEVICE /dev/ttyS0)
# 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

____________________________________________________



Установка kvm
Настроим сетевой мост br0 до инсталляции kvm (настроен lxc)
# apt-get update -y
# apt-get install qemu-kvm libvirt-bin virtinst -y
!!!# apt-get install virt-manager
!!!# usermod -a -G libvirt user
!!!!usermod: group 'libvirtd' does not exist


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

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

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

Монтирование дисков usb

# fdisk -l
Диск /dev/sdc: 2,7 TiB, 3000592982016 байтов, 5860533168 секторов
Диск /dev/sdd: 931,5 GiB, 1000170586112 байтов, 1953458176 секторов

A-DATA:
# mkdir /mnt/a-data
# mount /dev/sdd1 /mnt/a-data -t auto
# umount /dev/sdd1

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

# mount /dev/sdc1 /mnt/sdc -t auto
mount: /dev/sdc1: can't read superblock

# dumpe2fs /dev/sdc1 | grep superblock
dumpe2fs 1.43.4 (31-Jan-2017)
  Primary superblock at 0, Group descriptors at 1-350
  Backup superblock at 32768, Group descriptors at 32769-33118
.......
.......
# fsck /dev/sdc1
fsck из util-linux 2.29
e2fsck 1.43.4 (31-Jan-2017)
/dev/sdc1: восстановление журнала
JBD2: Invalid checksum recovering block 1 in log
JBD2: Invalid checksum recovering block 2 in log

.......
.......
# mount /dev/sdc1 /mnt/sdc -t auto
 
Автомонтирование по uuid
ls -l /dev/disk/by-uuid
итого 0
lrwxrwxrwx 1 root root 11 май  6 13:50 6fda0ea4-4faa-43f6-8e63-d2170036b4cc -> ../../md0p1
lrwxrwxrwx 1 root root 10 май  6 13:50 6fdbec45-51c5-426b-a11c-e9309367c0e2 -> ../../sdc1
 

# nano /etc/fstab

Добавить:

UUID=6fdbec45-51c5-426b-a11c-e9309367c0e2 /mnt/sdc ext4 defaults 0 0 

Сохранить.

WD:
# mkdir /mnt/wd
# mount /dev/sdd1 /mnt/wd -t auto
# umount /dev/sdd1
____________________________________________________
Настройка kvm
Копируем машины в /var/lib/libvirt/images
Копируем описания xml в /etc/libvirt/qemu

Восстанавливаем:
# virsh define /etc/libvirt/qemu/w_2012-clone.xml
Домен w_2012-clone определён на основе /etc/libvirt/qemu/w_2012-clone.xml

Для доступа vnc с любого адреса
# virsh edit w_2012-clone

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

Запуск машины (все iso должны быть на своих местах)
# virsh start w_2012-clone

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

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

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

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

______________________________________________________


Развернем desktop:

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

# lxc-start -n virt -d

# lxc-ls -f

 # ssh ubuntu@virt

Войдем по xrdp

# ssh ubuntu@virt

Войдем по xrdp

root@virt:~# ssh-keygen -f "/root/.ssh/known_hosts" -R 192.168.0.98
root@virt:~# ssh user@192.168.0.98

(virt-manager от root по ip)


!!!# apt-get install virt-manager

# virsh edit w_2012-clone

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

# virsh vncdisplay w_2012-clone
:0

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

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

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

Запуск машины
# 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

Работа с KVM в Debian или Ubuntu из командной строки
Ubuntu Server 16.04 добавление KVM виртуальной машина

Управление логгированием в 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"
 
 
Глюк:
май 12 11:31:52 u17 systemd-logind[1115]: New session 357 of user user.
май 12 11:31:52 u17 systemd[1]: Started Session 357 of user user.
май 12 11:31:52 u17 systemd[17456]: PAM unable to dlopen(pam_winbind.so): /lib/security/pam_winbind.so: cannot open shared obje
май 12 11:31:52 u17 systemd[17456]: PAM adding faulty module: pam_winbind.so
 

# mkdir /lib/security/
# ln -s /lib/x86_64-linux-gnu/security/pam_winbind.so /lib/security/pam_winbind.so

май 12 12:08:46 u17 sshd[18087]: PAM unable to dlopen(pam_winbind.so): /lib/security/pam_winbind.so: undefined symbol: wbcCtxFr
май 12 12:08:46 u17 sshd[18087]: PAM adding faulty module: pam_winbind.so

ubuntu 17.04 xrdp

Mate-Desktop


# apt-get update -y
# apt-get install mate-core mate-desktop-environment mate-notification-daemon -y
# apt-get install xrdp -y

# nano /etc/xrdp/startwm.sh

после fi

# test -x /etc/X11/Xsession && exec /etc/X11/Xsession
# exec /bin/sh /etc/X11/Xsession
mate-session

Сохранить.

# service  xrdp restart
или
# reboot

воскресенье, 23 апреля 2017 г.

Сервер терминалов для 1С по протоколу RDP на linux: рекомендации по настройке с учетом опыта реальной эксплуатации
Building on Debian 8
Терминальный сервер на базе Ubuntu Server 16.04

# apt-get install git autoconf libtool pkg-config gcc g++ make  libssl-dev libpam0g-dev libjpeg-dev libx11-dev libxfixes-dev libxrandr-dev  flex bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 g++ xutils libfuse-dev libmp3lame-dev nasm libpixman-1-dev xserver-xorg-dev
# BD=`pwd`
# mkdir -p "${BD}"/git/neutrinolabs
# cd "${BD}"/git/neutrinolabs
# wget https://github.com/neutrinolabs/xrdp/releases/download/v0.9.1/xrdp-0.9.1.tar.gz
# wget https://github.com/neutrinolabs/xorgxrdp/releases/download/v0.2.0/xorgxrdp-0.2.0.tar.gz
# cd "${BD}"/git/neutrinolabs 
# tar xvfz xrdp-0.9.1.tar.gz
# cd "${BD}"/git/neutrinolabs/xrdp-0.9.1  
# ./bootstrap 
# ./configure --enable-fuse --disable-rfxcodec --enable-mp3lame --enable-pixman --disable-painter --disable-ipv6
# make
# make install
# ln -s /usr/local/sbin/xrdp{,-sesman} /usr/sbin
 
 
# cd "${BD}"/git/neutrinolabs
# tar xvfz xorgxrdp-0.2.0.tar.gz
# cd "${BD}"/git/neutrinolabs/xorgxrdp-0.2.0
# ./bootstrap
# ./configure
# make
# make install 
 
/ubuntu/pool/universe/x/xrdp 
 
      

ubuntu 17.04

apt-get install ubuntu-gnome-desktop
 
!!!# apt-get install  imagemagick -y

Строка ниже срабатывает далеко не всегда 

# apt-get install ttf-mscorefonts-installer -y

# fc-cache -f -v

------------------------------------------------------------

Альтернативно:

# apt-get install wget -y

# mkdir /home/ubuntu/Downloads 

# wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb -P /home/ubuntu/Downloads

# apt install /home/ubuntu/Downloads/ttf-mscorefonts-installer_3.6_all.deb

# fc-cache -f -v

------------------------------------------------------------ 





Дистрибутивы  в папке soft

!!!# ln -s /usr/lib/x86_64-linux-gnu/libMagickWand.so.5 /usr/lib/x86_64-linux-gnu/libMagickWand.so



# cd /home/user/8.3.10.2168/

# tar xvzf deb64.tar.gz
# tar xvzf client.deb64.tar.gz

# dpkg -i 1c*.deb

# apt-get -f install

# apt autoremove -y

# cd ..  

# rm -R  /home/ubuntu/8.3.10.2168

# chown -R usr1cv8:grp1cv8 /opt/1C

Зададим пароль pass

~# lsusb

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP v0.06

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub





# dpkg --add-architecture i386 

# apt-get update

# apt-get install libc6:i386
 
!!!# wget ftp://ftp.cis-app.com/pub/hasp/Sentinel_HASP/Runtime_(Drivers)/7.54/Sentinel_LDK_Ubuntu_DEB_Run-time_Installer.tar.gz
  
!!!# tar xvzf Sentinel_LDK_Ubuntu_DEB_Run-time_Installer.tar.gz
 
!!!# cd Sentinel_LDK_Ubuntu_DEB_Run-time_Installer
 
# cd /home/user/hasp 
 
# dpkg -i --force-architecture aksusbd_7.54-1_i386.deb

# apt-get -f install

# service aksusbd restart

# /etc/init.d/aksusbd status
 
# reboot
 
-------------------------------------------------------------------------
16.04.2 
# apt-get install ubuntu-gnome-desktop
# mkdir 0
# cd 0
# wget http://ge.archive.ubuntu.com/ubuntu/pool/universe/x/xrdp/xrdp_0.9.0~20160601+git703fedd-3_amd64.deb
# wget http://ge.archive.ubuntu.com/ubuntu/pool/universe/x/xrdp/xorgxrdp_0.9.0~20160601+git703fedd-3_amd64.deb
sudo dpkg -i *.deb
 
Standard XRDP installation on Ubuntu 16.04 

# sudo add-apt-repository ppa:jonathonf/mate-1.16
# apt-get update
# apt-get install mate-core mate-desktop-environment mate-notification-daemon
# apt-get install mate-desktop-environment-core mate-desktop-environment-extras


 
  
  
 


суббота, 22 апреля 2017 г.

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

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

How To Add Swap Space on Ubuntu 16.04

$ sudo -i
 Создадим в корне пустой файл с именем swap размером в 8 ГБ:
# dd if=/dev/zero of=/swapfile bs=1M count=8192
Отформатируем его как файл подкачки:
# mkswap /swapfile
# chmod 600 /swap
# ls -lh /swap
-rw------- 1 root root 8,0G апр 22 13:27 /swap



# mkswap /swap
mkswap: /swap: warning: wiping old swap signature.
Setting up swapspace version 1, size = 8 GiB (8589930496 bytes)
без метки, UUID=a976d033-db35-4ec7-9d3c-ef6375195fa8

# swapon /swap

# swapon --show
NAME  TYPE SIZE USED PRIO
/swap file   8G   0B   -1

# free
              total        used        free      shared  buff/cache   available
Память:    32799228      144300    23740332        9976     8914596    32212720
Подкачка:     8388604           0     8388604


# cp /etc/fstab /etc/fstab.bak
# echo '/swap none swap sw 0 0' | sudo tee -a /etc/fstab

Можно проверить:

# nano  /etc/fstab

/swap none swap sw 0 0


# cat /proc/sys/vm/swappiness
60

# nano /etc/sysctl.conf

В конец:
 
vm.swappiness = 0
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

Отключим службу 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
cpu MHz         : 3400.664
....

# hdparm -Tt /dev/md0
/dev/md0:
 Timing cached reads:   30766 MB in  2.00 seconds = 15404.43 MB/sec
 Timing buffered disk reads: 3092 MB in  3.00 seconds = 1030.48 MB/sec


# cat /proc/sys/vm/swappiness
0

# free
              total        used        free      shared  buff/cache   available
Память:    32799228      126672    32419972        9972      252584    32304892
Подкачка:     8388604           0     8388604

# apt-get update -y
# apt-get upgrade -y
!!!# apt-get install mc atop htop ssh samba
# apt-get install mc htop -y

Смотрим ip
# ifconfig
В нашем случае 192.168.0.98 nic enp1s0

!!!# apt-get remove network-manager (для desktop)
!!!# nano /etc/network/interfaces

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

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 8.8.8.8
Сохранить. 
 
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-alpine     lxc-busybox  lxc-debian    lxc-gentoo        lxc-oracle     lxc-sparclinux  lxc-ubuntu-cloud
lxc-altlinux   lxc-centos   lxc-download  lxc-openmandriva  lxc-plamo      lxc-sshd
lxc-archlinux  lxc-cirros   lxc-fedora    lxc-opensuse      lxc-slackware  lxc-ubuntu 

Созадать контейнер:

# 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

Сохранение контейнера precise_lxc :
# cd  /var/lib/lxc/
# tar -cvzf  precise_lxc.tar.gz ./precise_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

____________________________________________________

Настройка 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

____________________________________________________


Установка kvm
Настроим сетевой мост br0 до инсталляции kvm
# apt-get update -y
# apt-get install qemu-kvm libvirt-bin virtinst -y
!!!# apt-get install virt-manager
# 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

____________________________________________________
Монтирование дисков usb

# fdisk -l
Диск /dev/sdc: 931,5 GiB, 1000170586112 байтов, 1953458176 секторов
Диск /dev/sdd: 223,6 GiB, 240057409536 байтов, 468862128 секторов

A-DATA:
# mkdir /mnt/a-data
# mount /dev/sdd1 /mnt/a-data -t auto
# umount /dev/sdd1

WD:
# mkdir /mnt/wd
# mount /dev/sdc1 /mnt/wd -t auto
# umount /dev/sdc1
____________________________________________________
Настройка kvm
Копируем машины в /var/lib/libvirt/images
Копируем описания xml в /etc/libvirt/qemu

Восстанавливаем:
# virsh define /etc/libvirt/qemu/w_2012-clone.xml
Домен w_2012-clone определён на основе /etc/libvirt/qemu/w_2012-clone.xml

Для доступа vnc с любого адреса
# virsh edit w_2012-clone

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

Запуск машины (все iso должны быть на своих местах)
# virsh start w_2012-clone

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

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

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

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

______________________________________________________


Развернем desktop:

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

# lxc-start -n virt -d

# lxc-ls -f

 # ssh ubuntu@virt

Войдем по xrdp

# ssh ubuntu@virt

Войдем по xrdp

!!!# apt-get install virt-manager

# virsh edit w_2012-clone

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

# virsh vncdisplay w_2012-clone
:0

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

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

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

Запуск машины
# 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

Работа с KVM в Debian или Ubuntu из командной строки
Ubuntu Server 16.04 добавление KVM виртуальной машина

Определение скорости диска

# fdisk -l
root@i7:/var/lib/lxc# hdparm -Tt /dev/sda
/dev/sda:
 Timing cached reads:   30840 MB in  2.00 seconds = 15441.73 MB/sec
 Timing buffered disk reads: 1546 MB in  3.00 seconds = 515.17 MB/sec

root@i7:/var/lib/lxc# hdparm -Tt /dev/sdb
/dev/sdb:
 Timing cached reads:   30218 MB in  2.00 seconds = 15130.42 MB/sec
 Timing buffered disk reads: 660 MB in  3.00 seconds = 219.64 MB/sec

root@i7:/var/lib/lxc# hdparm -Tt /dev/sdc
/dev/sdc:
 Timing cached reads:   29756 MB in  2.00 seconds = 14898.85 MB/sec
 Timing buffered disk reads: 358 MB in  3.02 seconds = 118.71 MB/sec
root@i7:/var/lib/lxc#

hdparm -Tt /dev/md0

# /dev/md0:
 Timing cached reads:   31102 MB in  2.00 seconds = 15572.57 MB/sec
 Timing buffered disk reads: 3184 MB in  3.00 seconds = 1061.11 MB/sec
root@i7:~#

пятница, 21 апреля 2017 г.

Консоль virt-manager

Развернем desktop:

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

# passwd root

Разрешим вход root по ssh
Закоментировать PermitRootLogin prohibit-password
Добавить  PermitRootLogin yes
# nano /etc/ssh/sshd_config

# Authentication:
LoginGraceTime 120
#PermitRootLogin prohibit-password
PermitRootLogin yes
StrictModes yes
 
# systemctl restart sshd 




# lxc-clone -o d_lxc -n virt

# lxc-start -n virt -d

# lxc-ls -f

 # ssh ubuntu@virt

Войдем по xrdp

# apt-get install virt-manager

# virsh edit w_2012-clone

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

# virsh vncdisplay w_2012-clone
:0

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

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

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

Запуск машины
# 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

!!!# sudo /etc/init.d/apparmor stop

# 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

Работа с KVM в Debian или Ubuntu из командной строки

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

четверг, 20 апреля 2017 г.

Install ONLYOFFICE – Open-Source Web Based Office Suite

Install ONLYOFFICE – Open-Source Web Based Office Suite

Установка версии Сервера документов для Linux на Debian, Ubuntu и производные

Клонировать контейнер
# lxc-clone -o xenial_lxc -n only

Старт контейнера
# lxc-start -n only -d

Посмотреть ip
# lxc-ls -f

Зайти по ssh
# ssh ubuntu@192.168.0.226

$ sudo -i
!!!# apt-get install mc samba nano -y
# apt-get install mc nano wget -y

# echo "deb http://archive.ubuntu.com/ubuntu precise main universe multiverse" | sudo tee -a /etc/apt/sources.list
# apt-get install curl
# curl -sL https://deb.nodesource.com/setup_6.x | sudo bash -
# apt-get install postgresql

$ sudo -u postgres psql -c "CREATE DATABASE onlyoffice;"
$ sudo -u postgres psql -c "CREATE USER onlyoffice WITH password 'onlyoffice';"
$ sudo -u postgres psql -c "GRANT ALL privileges ON DATABASE onlyoffice TO onlyoffice;"


$ sudo apt-get install redis-server
$ sudo apt-get install rabbitmq-server
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CB2DE8E5

$ sudo echo "deb http://download.onlyoffice.com/repo/debian squeeze main" | sudo tee /etc/apt/sources.list.d/onlyoffice.list
$ sudo apt-get update
$ sudo apt-get install onlyoffice-documentserver

















 ___________________________________
# wget http://download.onlyoffice.com/repo/onlyoffice.key
# apt-key add onlyoffice.key
# nano /etc/apt/sources.list
deb http://download.onlyoffice.com/repo/debian squeeze main

Сохранить.

# apt-get install software-properties-common
# add-apt-repository ppa:ubuntu-toolchain-r/test
# apt-get update

# apt-get install onlyoffice-documentserver

Пакеты, имеющие неудовлетворённые зависимости:
 onlyoffice-documentserver : Зависит: nginx-extras (>= 1.3.13) но он не будет установлен
                             Зависит: nodejs (>= 6.9.1) но он не будет установлен
                             Зависит: libboost-regex-dev но он не будет установлен
                             Зависит: ttf-mscorefonts-installer но он не будет установлен
                             Зависит: libgtkglext1 но он не будет установлен
                             Зависит: xvfb но он не будет установлен
                             Зависит: libgconf2-4 но он не будет установлен
# apt-get install nginx-extras -y
# apt-get install nodejs -y
# apt-get install libboost-regex-dev -y
# apt-get install ttf-mscorefonts-installer -y
# apt-get install xvfb -y
# apt-get install libgconf2-4 -y 
# apt-get install onlyoffice-documentserver -y







Setup NextCloud on Ubuntu 16.04 / Ubuntu 16.10 / Debian 8

Setup NextCloud on Ubuntu 16.04 / Ubuntu 16.10 / Debian 8
Install OwnCloud 9 on Ubuntu 16.04 / Debian 8

Клонировать контейнер
# lxc-clone -o xenial_lxc -n next

Старт контейнера
# lxc-start -n next -d

Посмотреть ip
# lxc-ls -f

Зайти по ssh
# ssh ubuntu@192.168.0.203

$ sudo -i
# apt-get install mc samba nano -y
# dpkg-reconfigure tzdata
# apt-get install -y apache2 mariadb-server libapache2-mod-php7.0 php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip php7.0-sqlite3

# a2enmod rewrite
# a2enmod headers
# a2enmod dir
# a2enmod env
# a2enmod mime
# service apache2 restart

# cd /tmp/
# wget https://download.nextcloud.com/server/releases/nextcloud-11.0.2.tar.bz2 # tar -jxvf nextcloud-*.bz2 # mv nextcloud /var/www/html/ # mkdir /var/www/html/nextcloud/data


# chown -R www-data:www-data /var/www/html/nextcloud/

# mysql -u root -p
> create database nextclouddb;
> grant all on nextclouddb.* to 'nextclouduser'@'localhost' identified by 'password';
> quit

http://your-ip-addr-ess/nextcloud

# a2enmod ssl
# a2ensite default-ssl
 Перезагрузка Apache:
# systemctl restart apache2

https://your-ip-addr-ess/nextcloud
https://192.168.0.203/nextcloud/index.php

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







Еще kvm

Развернем desktop:

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

# lxc-clone -o d_lxc -n kvm
# nano /var/lib/lxc/kvm/rootfs/etc/rc.local

!!!mkdir -p /dev/net || true
!!!mknod /dev/kvm c 10 232
!!!mknod /dev/net/tun c 10 200
!!!exit 0



mkdir -p /dev/net || true
mknod /dev/net/tun c 10 200
chmod 666 /dev/net/tun
mkdir -p /dev/kvm || true
mknod /dev/kvm c 10 232

exit 0

Сохранить.

Проверка:
# grep -v ^# /var/lib/lxc/kvm/rootfs/etc/rc.local
root@i7:~# grep -v ^# /var/lib/lxc/kvm/rootfs/etc/rc.local

mkdir -p /dev/net || true
mknod /dev/kvm c 10 232
mknod /dev/net/tun c 10 200
exit 0
.
# nano /var/lib/lxc/kvm/config

lxc.cgroup.devices.allow = b 7:* rwm
lxc.cgroup.devices.allow = c 10:230 rwm
lxc.cgroup.devices.allow = c 10:232 rwm

Сохранить.

!!!# grep -v ^# /var/lib/lxc/kvm/config

# lxc-start -n kvm -d
# lxc-ls -f
# ssh ubuntu@192.168.0.63
$ sudo -i
# apt-get update -y
# apt-get upgrade -y
# apt-get install mc samba wget nano -y
# apt-get install qemu-kvm libvirt-bin virtinst -y

qemu-kvm start/running
rmmod: ERROR: ../libkmod/libkmod-module.c:769 kmod_module_remove_module() could not remove 'kvm_intel': Operation not permitted
rmmod: ERROR: could not remove module kvm_intel: Operation not permitted



# kvm-ok

root@kvm:~# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used



# cd /home/ubuntu
# wget http://mirror.yandex.ru/ubuntu-releases/14.04.5/ubuntu-14.04.5-server-amd64.iso
 

# virt-install --connect qemu:///system -n ubuntu1404-vm1 -s 10 -r 512 -f /var/lib/libvirt/images/ubuntu1404-vm1.img --vcpus=1 --os-variant ubuntutrusty --nographics --location ./ubuntu-14.04.5-server-amd64.iso --extra-args='console=tty0 console=ttyS0,115200n8' --keymap ru

# virt-install --connect qemu:///system -n ubuntu1404-vm1 -s 10 -r 512 -f /var/lib/libvirt/images/ubuntu1404-vm1.img --vcpus=1 --os-variant ubuntutrusty --nographics --location ./ubuntu-14.04.5-server-amd64.iso  --extra-args='console=tty0 console=ttyS0,115200n8' --keymap ru

wget 
wget https://cloud-images.ubuntu.com/releases/16.04/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img

Работа с KVM в Debian или Ubuntu из командной строки

Старт контейнера
# lxc-start -n  kvm -d

# lxc-ls -f

# ssh ubuntu@kvm

# apt-get update
# apt-get install bridge-utils -y
# apt-get remove network-manager -y 
# reboot
# apt-get install qemu-kvm libvirt-bin virtinst -y
# mkdir -p /dev/kvm || true
# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

# apt-get install virt-manager -y


среда, 19 апреля 2017 г.

Установка ubuntu 16.04.1 server i7

$ sudo -i

Для Ubuntu 16.04 (systemd)

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

$ sudo -i
# systemctl status ondemand

# apt-get update -y
# apt-get upgrade -y
!!!# apt-get install mc atop htop ssh samba
# apt-get install mc htop -y

Настроим ipv6
# nano /etc/sysctl.conf
В конец файла:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Сохранить.
# sysctl -p

# apt-get install lxc bridge-utils debootstrap libcap-dev cgroup-bin libpam-systemd -y

# nano /etc/network/interfaces

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


Сохранить.

!!!# apt-get remove network-manager
# reboot

$ sudo -i

# ifconfig

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

Созадать контейнер:

# 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
!##
!# The default user is 'ubuntu' with password 'ubuntu'!
!# Use the 'sudo' command to run tasks as root in the container.
!##
 
Сохранение контейнера precise_lxc :
# cd  /var/lib/lxc/
# tar -cvzf  precise_lxc.tar.gz ./precise_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

Настройка Ubuntu для работы с ИБП от APC

# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub




# 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

____________________________________________________

Установка kvm
Настроим сетевой мост br0 до инсталляции kvm
# apt-get update
!!!# apt-get install qemu-kvm libvirt-bin virtinst bridge-utils
# apt-get install qemu-kvm libvirt-bin virtinst -y
!!!# apt-get install virt-manager
# usermod -a -G libvirtd user
# usermod -a -G libvirtd root

____________________________________________________
Монтирование внешнего диска A-DATA

# lsusb
Bus 002 Device 002: ID 125f:a65a A-DATA Technology Co., Ltd.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

# blkid
/dev/sda1: UUID="8d4ffa59-f7f6-40d9-b12f-effc1c1e194f" TYPE="ext4" PARTUUID="ab9f70c7-01"
/dev/sda5: UUID="4d0d3ff5-e71d-4ed2-a22f-b68afc485cc9" TYPE="swap" PARTUUID="ab9f70c7-05"
/dev/sdb1: UUID="f35c3886-36f0-4e81-9686-b4685232a858" TYPE="ext4" PARTUUID="9e7322ed-b450-46af-bfa5-2783d1cd8023"


# fdisk -l


# mkdir /mnt/A-DATA
# mount /dev/sdb1 /mnt/A-DATA -t auto
# umount /dev/sdb1
# mkdir /mnt/WD
# mount /dev/sdc1 /mnt/WD -t auto
# umount /dev/sdc1
_______________________________________________________
Развернем desktop:

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

# passwd root

Разрешим вход root по ssh
Закоментировать PermitRootLogin prohibit-password
Добавить  PermitRootLogin yes
# nano /etc/ssh/sshd_config

# Authentication: LoginGraceTime 120
#PermitRootLogin prohibit-password
PermitRootLogin yes StrictModes yes

# systemctl restart sshd

# lxc-clone -o d_lxc -n virt

# lxc-start -n virt -d

# lxc-ls -f

 # ssh ubuntu@virt

Войдем по xrdp

# apt-get install virt-manager

# virsh edit w_2012-clone

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

# virsh vncdisplay w_2012-clone
:0

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

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

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

Запуск машины
# 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

!!!# sudo /etc/init.d/apparmor stop

# 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

Работа с KVM в Debian или Ubuntu из командной строки

Публикация ИБ на веб-сервере Apache 2.4.

Клонирование контейнера с заменой кластера 1с
Клонировать контейнер
# lxc-clone -o p962 -n p962_2
Почистить кластер 1с
# rm -R /var/lib/lxc/p962_2/rootfs/home/usr1cv8/.1cv8
Создадим базу (база подхватится из клонируемого контейнера):

Старт контейнера
# lxc-start -n p962_2 -d

Посмотреть ip
# lxc-ls -f

Создадим базу (база подхватится из клонируемого контейнера):


# ssh  ubuntu@p962_2
# apt-get install apache2 -y
# systemctl status apache2

● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Ср 2017-04-19 08:49:03 UTC; 55s ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/apache2.service
           ├─985 /usr/sbin/apache2 -k start
           ├─988 /usr/sbin/apache2 -k start
           └─989 /usr/sbin/apache2 -k start

# systemctl enable apache2
Проверим http://p962_2/
________________________________________________
Кроме того, мы можем включить поддержку ssl
для нашего веб-сервера.
Для этого выполните:

# a2enmod ssl
# a2ensite default-ssl
 Перезагрузка Apache:
# systemctl restart apache2
________________________________________________

Создаем директорию для vrd-файла:
# mkdir -p /var/www/ib/demo

А также файл конфигурации Apache:
# touch /etc/apache2/conf-available/demo.conf

Переходим в каталог со утилитой публикации веб-клиента:
# cd /opt/1C/v8.3/x86_64/

Запускаем утилиту:
# ./webinst -apache24 -wsdir demo -dir '/var/www/ib/demo' -connstr 'Srvr="localhost";Ref="demo";' -confPath /etc/apache2/conf-available/demo.conf

Backup:
# ./webinst -apache24 -wsdir demo -dir '/var/www/ib/demo' -connstr 'Srvr="localhost";Ref="demo";' -confPath /etc/apache2/conf-available/demo.conf



Где /var/www/ib/demo - директория где будет создан vrd-файл, demo - имя ИБ, localhost - адрес сервера 1С:Предпрятие, а /etc/apache2/conf-available/demo.conf - путь до конфигурационного файла Apache.

 Подключаем конфигурацию:
# a2enconf demo

 Перезагрузка Apache:# systemctl restart apache2

Смотрим:
http://p962_2/demo или https://p962_2/demo ______________________________________________________
Если нужно подключить вторую базу:

Создаем директорию для vrd-файла:
# mkdir -p /var/www/ib/demo1

А также файл конфигурации Apache:
# touch /etc/apache2/conf-available/demo1.conf

Переходим в каталог со утилитой публикации веб-клиента:
# cd /opt/1C/v8.3/x86_64/

Запускаем утилиту:
# ./webinst -apache24 -wsdir demo1 -dir '/var/www/ib/demo1' -connstr 'Srvr="localhost";Ref="demo1";' -confPath /etc/apache2/conf-available/demo1.conf

Backup:
# ./webinst -apache24 -wsdir demo1 -dir '/var/www/ib/demo1' -connstr 'Srvr="localhost";Ref="demo1";' -confPath /etc/apache2/conf-available/demo1.conf



Где /var/www/ib/demo1 - директория где будет создан vrd-файл, demo1 - имя ИБ, localhost - адрес сервера 1С:Предпрятие, а /etc/apache2/conf-available/demo1.conf - путь до конфигурационного файла Apache.

 Подключаем конфигурацию:
# a2enconf demo1

 Перезагрузка Apache:
# systemctl restart apache2

Смотрим:
http://p962_2/demo1 или https://p962_2/demo1
______________________________________________________
Если нужно подключить базу на другом сервере:
(сервер db2 база demo)

Исправим demo1  ('Srvr="db2";Ref="demo";')

Переходим в каталог со утилитой публикации веб-клиента:
# cd /opt/1C/v8.3/x86_64/

Запускаем утилиту:
# ./webinst -apache24 -wsdir demo1 -dir '/var/www/ib/demo1' -connstr 'Srvr="db2";Ref="demo";' -confPath /etc/apache2/conf-available/demo1.conf


 Подключаем конфигурацию:
# a2enconf demo1

 Перезагрузка Apache:
# systemctl restart apache2

Смотрим:
http://p962_2/demo1 или https://p962_2/demo1

вторник, 18 апреля 2017 г.

Установка postgresql 9.6.2 на ubuntu 16.04.2 lxc

Клонировать контейнер
# lxc-clone -o xenial_lxc -n xp962_lxc

Проверить:
# nano /var/lib/lxc/xp962_lxc/rootfs/etc/hosts
127.0.0.1   localhost
127.0.1.1   xp962_lxc

Сохранить.


Старт контейнера
# lxc-start -n xp962_lxc -d

Посмотреть ip
# lxc-ls -f

Зайти по ssh
# ssh ubuntu@192.168.0.222

$ sudo -i
Настроим часовой пояс Москва.
# dpkg-reconfigure tzdata
# apt-get update -y
# apt-get upgrade -y
# apt-get install mc htop samba nano wget -y

Настроим ipv6
# nano /etc/sysctl.conf
В конец файла:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Сохранить.
# sysctl -p
Проверка:
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1

# reboot

Зайти по ssh
# ssh ubuntu@xp962_lxc

Подключение под debian 7/8, ubuntu 12.04/14.04/16.04:
 

# sudo sh -c 'echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list'
# wget --quiet -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | sudo apt-key add - && sudo apt-get update
# sudo apt-get install postgresql-pro-1c-9.6 -y

# systemctl start postgresql
# systemctl enable postgresql
# systemctl status postgresql

● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Вт 2017-04-18 08:51:27 UTC; 1min 18s ago
Main PID: 1455 (code=exited, status=0/SUCCESS)

апр 18 08:51:27 p962_lxc systemd[1]: Starting PostgreSQL RDBMS...
апр 18 08:51:27 p962_lxc systemd[1]: Started PostgreSQL RDBMS.

# su - postgres
$ psql -l
$ psql
q
Далее наберем
\password
введем два раза новый пароль pass
и наберем команду
\q
для выхода.
$ exit
Обратите внимание, что данный пароль устанавливается для внутреннего пользователя базы данных, а не для одноименного пользователя операционной системы Ubuntu.
Проверим, корректно ли запущен и работает наш сервер PostgreSQL который нам нужен для дальнейшего развертывания базы данных. Выполним
# netstat -atn|grep 0.0.0.0:54
Мы должны получить строку с номером порта (обычно 5432)/
# ps ax | grep postgres
# netstat -nlt
Активные соединения с интернетом (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN
tcp6       0      0 :::139                  :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 :::5432                 :::*                    LISTEN
tcp6       0      0 :::445                  :::*                    LISTEN
 

# poweroff

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

Установка 1С

Клонировать контейнер
# lxc-clone -o xp962_lxc -n xp962

# mkdir /var/lib/lxc/xp962/rootfs/home/ubuntu/8.3.10.2252
# cp /home/user/_soft/8.3.10.2252/deb64.tar.gz /var/lib/lxc/xp962/rootfs/home/ubuntu/8.3.10.2252/

Старт контейнера
# lxc-start -n xp962 -d

Посмотреть ip
# lxc-ls -f

# ssh ubuntu@xp962
# systemctl status postgresql
# netstat -atn|grep 0.0.0.0:54

# apt-get install imagemagick -y
Строка ниже срабатывает далеко не всегда
# apt-get install ttf-mscorefonts-installer -y
# fc-cache -f -v
------------------------------------------------------------
Альтернативно:
# apt-get install wget -y
# mkdir /home/ubuntu/Downloads
# wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb -P /home/ubuntu/Downloads
# apt install /home/ubuntu/Downloads/ttf-mscorefonts-installer_3.6_all.deb
# fc-cache -f -v
------------------------------------------------------------


# cd /home/ubuntu/8.3.10.2252/# tar xvzf deb64.tar.gz
# dpkg -i 1c*.deb
# apt-get -f install
# apt autoremove -y
# cd ..
# rm -R /home/ubuntu/8.3.10.2252
# chown -R usr1cv8:grp1cv8 /opt/1C
Зададим пароль pass
# passwd usr1cv8
# service srv1cv83 start
# service srv1cv83 status
!!!# service srv1cv83 restart

netstat -atn|grep 0.0.0.0:15
netstat -atn|grep 0.0.0.0:54

Сохраним без базы.

# poweroff

Поскольку сервер 1с запускался нужно
почистить

# rm -R /var/lib/lxc/xp962/rootfs/home/usr1cv8/.1cv8

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

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

!!!Старт контейнера
!!!# lxc-start -n xp962 -d

!!!Посмотреть ip
!!!# lxc-ls -f


Клонирование контейнера с заменой кластера 1с
Клонировать контейнер
# lxc-clone -o xp962 -n xp962_1
Почистить кластер 1с
!!!# rm -R /var/lib/lxc/xp962_1/rootfs/home/usr1cv8/.1cv8
Создадим базу (база подхватится из клонируемого контейнера):

Старт контейнера
# lxc-start -n xp962_1 -d


Посмотреть ip
# lxc-ls -f

Создадим базу (база подхватится из клонируемого контейнера):




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

Старт контейнера
# lxc-start -n xp962_1 -d

Посмотреть ip
# lxc-ls -f





PostgreSQL - реальная альтернатива для высоконагруженных систем на базе 1С

# nano /etc/postgresql/9.6/main/postgresql.conf
ssl = false
autovacuum = on
autovacuum_max_workers =3
Autovacuum_naptime = 20s
autovacuum_vacuum_scale_factor = 0.01
autovacuum_analyze_scale_factor = 0.05
online_analyze.enable = on
fsync = on
synchronous_commit = off

# reboot

Тест показал 38 попугаев.

Настройки ниже  ускорения не дали.

Configuration calculator for PostgreSQL



# nano /etc/postgresql/9.6/main/postgresql.conf 
 
max_connections = 20
shared_buffers = 4GB
effective_cache_size = 12GB
work_mem = 209715kB
maintenance_work_mem = 1GB
min_wal_size = 2GB
max_wal_size = 4GB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100


PostgreSQL в 1С:Предприятии и в облачной системе 1С:Fresh

•fsync По умолчанию включен – при COMMIT данные пишутся из кэша ОС на диск При использовании RAID-массивов можно отключить
•effective_cache_size
•Рекомендуемое значение – не менее 50% объема RAM
•Сервер
•4 - 512 Gb RAM
•2 - 256 CPU cores
•RAID 0-1 или SSD
•Отключить HyperThreading
•Отключить Energy Saving
•Запретить своппинг разделяемой памяти SYSV/posix
•shared_buffers = RAM / 4
•temp_buffers = 256MB
•work_mem = RAM / 32..64 или 32MB..128MB
•maintenance_work_mem = RAM /1 6..32
или work_mem * 4
или 256MB..4GB
•effective_cache_size = RAM - shared_buffers
•effective_io_concurrency = 2
•Для одиночного диска = 1, для RAID - 2 или больше
•autovacuum = on
•autovacuum_max_workers = NCores / 4..2 но не меньше 4
--------------------------------------------------------------------------------------------------------------
Если развернуть контейнер на другом hoste PostgreSQL не запускается.
# systemctl restart postgresql.service
# journalctl
май 15 08:00:09 xp962_1 postgresql@9.6-main[733]: Error: The cluster is owned by group id 115 which does not exist

# id -u postgres
108
# userdel postgres

# getent group postgres
postgres:x:114:

# groupmod -g 115 postgres



# getent group postgres
postgres:x:115:


 
adduser -UID 110 postgres
 
# chown -R postgres:postgres /var/lib/postgresql

Вообщем не помогает.
Поробуем так:
# service postgresql stop
# su - postgres
$ cd /var/lib/postgresql/9.6/
echo "`date +"%Y-%m-%d_%H-%M-%S"`

$ tar -cvzf main_backup-`date +%Y-%m-%d_%H-%M-%S`.tgz main
!!!$ tar -cvzf main_backup-`date +%s`.tgz main
$ rm -rf main
!!!$ mkdir main
!!!$ chmod go-rwx main

# apt-get purge postgresql-pro-1c-9.6 -y
# apt-get install postgresql-pro-1c-9.6 -y
# su - postgres
$ psql -l
$ psql
q
Далее наберем
\password
введем два раза новый пароль pass
и наберем команду
\q
для выхода.
$ exit
Обратите внимание, что данный пароль устанавливается для внутреннего пользователя базы данных, а не для одноименного пользователя операционной системы Ubuntu.
Проверим, корректно ли запущен и работает наш сервер PostgreSQL который нам нужен для дальнейшего развертывания базы данных. Выполним
# netstat -atn|grep 0.0.0.0:54
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN
Мы должны получить строку с номером порта (обычно 5432)/
# ps ax | grep postgres
$ ps ax | grep postgres
 2142 ?        S      0:00 /usr/lib/postgresql/9.6/bin/postgres -D /var/lib/postgresql/9.6/main -c config_file=/etc/postgresql/9.6/main/postgresql.conf
 2144 ?        Ss     0:00 postgres: 9.6/main: checkpointer process
 2145 ?        Ss     0:00 postgres: 9.6/main: writer process
 2146 ?        Ss     0:00 postgres: 9.6/main: wal writer process
 2147 ?        Ss     0:00 postgres: 9.6/main: autovacuum launcher process
 2148 ?        Ss     0:00 postgres: 9.6/main: stats collector process
 2191 pts/4    S      0:00 su - postgres
 2222 pts/4    S+     0:00 grep postgres

# netstat -nlt
Все работает, теперь осталось восстановить кластер из архива:
# service postgresql stop
# su - postgres
$ cd /var/lib/postgresql/9.6/
$ tar -cvzf main_backup-`date +%s`.tgz main
$ rm -rf main
!!!$ mkdir main
$ tar xvzf main_backup-1494840424.tgz
!!!$ chmod go-rwx main
$ psql -l

# rm -R /home/usr1cv8/.1cv8
# service srv1cv83 restart
# netstat -atn|grep 0.0.0.0:15
# netstat -atn|grep 0.0.0.0:54
При подключении из 1с нужно заново создать
базу demo c теми же параметрами.
https://serveradmin.ru/bekap-i-vosstanovlenie-bazyi-1s-v-bd-postgresql/

.