четверг, 23 марта 2017 г.

Контейнеры Linux — установка и настройка LXC

Setup Linux Container with LXC on Ubuntu 16.04LXC
LXC

Ставим ubuntu 14.04.5 server на virtualbox, ssh, samba
имя ubuntu

Подключаемся MobaXterm по ssh:
Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-31-generic x86_64)
$ sudo -i
Проверка локали
# locale
LANG=ru_RU.UTF-8
....
# apt-get update
# apt-get upgrade
# apt-get install mc htop
# reboot
# poweroff

Экспортируем виртуальный образ ubuntu.ova
Экспортируем виртуальный образ ub14.ova

Подключаемся MobaXterm по ssh:
$ sudo -i
# apt-get install bridge-utils lxc lxc-templates
# cp /etc/network/interfaces /etc/network/interfaces.bak
# nano /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

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

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


Как можно увидеть из файла /etc/network/interfaces, eth0 закомментирован и добавлен новый интерфейс br0.

Сохранить.

Если использует ручная настройка сети, то нужно сделать так:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
 ##Bridge  Name ###
auto br0
### Bridge Information
iface br0 inet static
bridge_ports eth0
bridge_stp off
bridge_fd 9
### Bridge IP ###
address 192.168.0.200
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
dns-nameservers 192.168.0.1

# 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

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
# ifconfig
# lxc-checkconfig


Шаблоны:
# ls /usr/share/lxc/templates/

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

# lxc-create -t ubuntu -n trusty_lxc -- -r trusty -a amd64
!##
!# The default user is 'ubuntu' with password 'ubuntu'!
!# Use the 'sudo' command to run tasks as root in the container.
!##
  
 
Просмотр:
# lxc-ls
trusty_lxc

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

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

Информация:
# lxc-info -n trusty_lxc

# lxc-start -n trusty_lxc -d

# lxc-info -n trusty_lxc

Консоль:
# lxc-console -n trusty_lxc
$ sudo -i (password 'ubuntu")
# apt-get update
# apt-get upgrade
# apt-get install mc htop nano wget samba
# 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
# lxc-console -n trusty_lxc
$ sudo -i (password 'ubuntu")
# poweroff
# poweroff
Экспортируем виртуальный образ ubuntu_1.ova
Экспортируем виртуальный образ ub14_1.ova 
 ---------------------------------------------------------------------------------------------------------------
Сделаем шаблон:
Установка DB2 server v11.1 Ubuntu 14.04.5

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

# nano /var/lib/lxc/db2_11_1/rootfs/etc/hosts
127.0.0.1  db2_11_1  localhost

Сохранить.


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

# lxc-console -n db2_11

$ sudo -i

Проверить:
# ping db2_11


Посмотреть ip
# lxc-ls -f
!!! Обратить внимание что из консоли некоторые функции mc не работают!

Подключаемся MobaXterm.
Установка db2 утилитой db2_install

#Зададим пользователей
$ sudo -i
# groupadd db2iadm1
# useradd -g db2iadm1 -m -d /home/db2inst1 db2inst1
пароль 'pass'
# passwd db2inst1

# groupadd db2fadm1
# useradd -g db2fadm1 -m -d /home/db2fenc1 db2fenc1
пароль 'pass' 
 # passwd db2fenc1

Пакет libaio1 есть.
# apt-get install binutils libaio1
# dpkg --add-architecture i386
# apt-get update
# apt-get install libpam0g:i386 libstdc++6:i386
Было сообщение db2start:
db2start: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
Поэтому ставим:
# apt-get install libnuma-dev

!!!у v11.1.1fp1 проблема с ubuntu
!!!# apt-get install rpm

# cd /home/ubuntu/

Загрузить с помощью MobaXterm sftp в /home/ubuntu/
# tar xvzf v11.1_linuxx64_expc.tar.gz
# rm v11.1_linuxx64_expc.tar.gz
# cd expc
# ./db2prereqcheck -v 11.1.0.0

инсталляция
# ./db2_install

# cd /opt/ibm/db2/V11.1/instance
# ./db2icrt -u db2fenc1 db2inst1
# ./db2iauto -on db2inst1

# su - db2inst1

Конфигурируем DB2 для работы с 1С:

$ db2set DB2_WORKLOAD=1C

Запускаем экземпляр DB2:

$ db2start
Сообщение об успешности:
SQL1063N  DB2START processing was successful.

Посмотреть версию DB2

$ db2ls

Посмотреть БД
$ db2ilist

$ exit
Установка db2 завершена.

$ sudo -i

# apt-get install libssl0.9.8 libossp-uuid16 libxslt1.1 libicu52 libt1-5 t1utils unixodbc texlive-base libgfs-1.3-2
# apt-get install imagemagick ttf-mscorefonts-installer

# mkdir /home/ubuntu/8.3.9.2170
# chown -R ubuntu: /home/ubuntu/8.3.9.2170
с помощью MobaXterm sftp
# cd /home/ubuntu/8.3.9.2170
# tar xvzf deb64.tar.gz
# dpkg -i 1c*.deb
# apt-get -f install
# rm -R /home/ubuntu/8.3.9.2170
# chown -R usr1cv8:grp1cv8 /opt/1C
Зададим пароль pass
# passwd usr1cv8
 Теперь создадим базу 1С на сервере DB2.
добавим пользователя usr1cv8 в группу доступа db2iadm1
# usermod -aG db2iadm1 usr1cv8
# echo ". /home/db2inst1/sqllib/db2profile" >> /home/usr1cv8/.profile
# service srv1cv83 start
# service srv1cv83 status
# netstat -atn|grep 0.0.0.0:15

Starting 1C:Enterprise 8.3 server: OK
# poweroff
# poweroff
Экспортируем виртуальный образ ub14_2.ova
-------------------------------------------------------------------------------------------------------
Клонировать контейнер c db2
# lxc-clone -o db2_11 -n db2_11_1

# nano /var/lib/lxc/db2_11_1/rootfs/etc/hosts
# nano /etc/hosts

127.0.0.1  db2_11_1  localhost
Сохранить.
# rm -R /var/lib/lxc/db2_11_1/rootfs/home/usr1cv8/.1cv8
!!!# rm -R /home/usr1cv8/.1cv8

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

# lxc-console -n db2_11_1
Подключаем базу:
-------------------------------------------------------------------------------------------------------
Клонировать контейнер c db2
# lxc-clone -o db2_11 -n db2_11_2

# nano /var/lib/lxc/db2_11_2/rootfs/etc/hosts
127.0.0.1  db2_11_2  localhost
Сохранить.
# rm -R /var/lib/lxc/db2_11_2/rootfs/home/usr1cv8/.1cv8
!!!# rm -R /home/usr1cv8/.1cv8

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

Подключаем базу: (обратить внимание сервер db2_11_2)

# lxc-console -n db2_11_2
# poweroff
# poweroff

Экспортируем виртуальный образ ub14_2.ova
-------------------------------------------------------------------------------------------------------


   



 








Как установить много Linux в одном дистрибутиве с помощью LXC

Источник: http://liberatum.ru/exclusive/lxc-linux-containersКак установить много Linux в одном дистрибутиве с помощью LXC

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

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