Показаны сообщения с ярлыком xubuntu-desktop. Показать все сообщения
Показаны сообщения с ярлыком xubuntu-desktop. Показать все сообщения

вторник, 12 ноября 2019 г.

Установка lxd на Ubuntu 18.04.3 server

How To Fix “Kernel driver not installed (rc=-1908)” VirtualBox Error In Ubuntu
Oracle VirtualBox 6.0.14 Released with Linux 5.3 Support
tasksel
Ubuntu 18.04: Connect to Xfce desktop environment via XRDP
Пошаговая инструкция настройки LXD на Ubuntu 16.04
LXD, ZFS and bridged networking on Ubuntu 16.04 LTS+
Production setup

Нужно временное решение для поддержки virtualbox, поэтому выбран xubuntu-desktop
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install mc samba ssh
$ tasksel --list-tasks
$ sudo tasksel install xubuntu-desktop
$ sudo reboot

$ sudo sh -c 'echo "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" >> /etc/apt/sources.list.d/virtualbox.list'
$ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
$ sudo apt update
$ sudo apt install virtualbox-6.0
#$ sudo apt autoremove --purge virtualbox-6.0
$ sudo usermod -a -G vboxusers $USER
$ sudo /sbin/vboxconfig
$ sudo reboot

$ sudo apt install -y xrdp
$ sudo systemctl enable xrdp
$ echo "xfce4-session" > ~/.xsession
$ D=/usr/share/xfce4:/usr/share/xubuntu:/usr/local/share
$ D=${D}:/usr/share:/var/lib/snapd/desktop:/usr/share
$ cat <<EOF > ~/.xsessionrc
export XDG_SESSION_DESKTOP=xubuntu
export XDG_DATA_DIRS=${D}
export XDG_CONFIG_DIRS=/etc/xdg/xdg-xubuntu:/etc/xdg:/etc/xdg
EOF

$ sudo reboot


$ sudo apt-get install bridge-utils -y
$ ip a
enp0s31f6 192.168.0.7
$ sudo nano /etc/netplan/01-netcfg.yaml

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s31f6:
      dhcp4: yes

  bridges:
    br0:
      interfaces: [enp0s31f6]
      addresses: [192.168.0.7/24]
      gateway4: 192.168.0.1
      mtu: 1500
      nameservers:
        addresses: [8.8.8.8]
      parameters:
        stp: true
        forward-delay: 4
      dhcp4: no
      dhcp6: no

Сохранить.

$ sudo netplan generate
$ sudo netplan --debug apply


#$ sudo systemctl stop networking.service
#$ sudo systemctl disable networking.service

$ cat /proc/cpuinfo | grep MHz
$ sudo systemctl stop ondemand
$ sudo systemctl disable ondemand

$ nano tuning.sh
 
#!/bin/bash
# отключим ipv6
sudo /bin/su -c "echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'net.ipv6.conf.lo.disable_ipv6 = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo '#net.ipv4.ip_forward = 1' >> /etc/sysctl.conf"
#тюнинг postgresql
sudo /bin/su -c "echo 'vm.swappiness=1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'kernel.sched_migration_cost_ns = 5000000' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'kernel.sched_autogroup_enabled = 0' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'vm.dirty_background_bytes = 67108864' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'vm.dirty_bytes = 536870912' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'vm.zone_reclaim_mode = 0' >> /etc/sysctl.conf"
#lxd
sudo /bin/su -c "echo 'fs.inotify.max_queued_events = 1048576' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'fs.inotify.max_user_instances = 1048576' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'fs.inotify.max_user_watches = 1048576' >> /etc/sysctl.conf"
sudo sysctl -p

Сохранить.

$ sudo sh tuning.sh
$ sudo reboot

$ ls -l /dev/disk/by-uuid
$ sudo nano /etc/fstab
Добавить:
UUID=5238c225-69c3-4c28-a633-5177867f0696 /home/user/Документы ext4 defaults 0 0
Сохранить.
$ sudo reboot
Конвертировать OVA в Qcow2


1. На хосте созаем файл (берем с машины где стоят драйвера)
$ sudo nano /etc/udev/rules.d/80-hasp.rules
# HASP rules
ACTION=="add|change|bind", SUBSYSTEM=="usb", ATTRS{idVendor}=="0529", ATTRS{idProduct}=="0001", MODE="664", ENV{HASP}="1", SYMLINK+="aks/hasp/%k", RUN+="/usr/sbin/aksusbd_x86_64 -c $root/aks/hasp/$kernel"
ACTION=="remove", ENV{HASP}=="1", RUN+="/usr/sbin/aksusbd_x86_64 -r $root/aks/hasp/$kernel"

# SENTINEL rules
ACTION=="add|change|bind", SUBSYSTEM=="usb", ATTRS{idVendor}=="0529", ATTRS{idProduct}=="0003", KERNEL!="hiddev*", MODE="666", GROUP="plugdev", ENV{SENTINELHID}="1", SYMLINK+="aks/sentinelhid/%k"

# SENTINEL rules для второго серверного ключа добавить еще запись:
ACTION=="add|change|bind", SUBSYSTEM=="usb", ATTRS{idVendor}=="0529", ATTRS{idProduct}=="0004", KERNEL!="hiddev*", MODE="666", GROUP="plugdev", ENV{SENTINELHID}="1", SYMLINK+="aks/sentinelhid/%k"
 

$ sudo lxd init

Would you like to use LXD clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]:
Name of the new storage pool [default=default]:
Name of the storage backend to use (btrfs, dir, lvm) [default=btrfs]: dir
Would you like to connect to a MAAS server? (yes/no) [default=no]:
Would you like to create a new local network bridge? (yes/no) [default=yes]: no
Would you like to configure LXD to use an existing bridge or host interface? (yes/no) [default=no]: yes
Name of the existing bridge or host interface: br0
Would you like LXD to be available over the network? (yes/no) [default=no]:
Would you like stale cached images to be updated automatically? (yes/no) [default=yes]
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:


Восстановление на другом компьютере:
$ lxc image import /home/user/backup/ud1804-2019-11-10.tar.gz.tar.gz --alias ud1804-backup
Образ, импортирован с снимком: b900ce0db69f0a57afd52af682f8a47229b5ea8fcdfa2a566af2034a6f6766a2
$ lxc launch ud1804-backup ud1804
###$ lxc image delete ud1804-backup

$ lxc image import /home/user/backup/test-2019-11-12.tar.gz.tar.gz --alias test-backup
Образ, импортирован с снимком: f442e1c60b9c1353f3d665a61e67bb7c13d383fe65af530fbe7f482699233d5

$ lxc launch test-backup test
$ lxc config device add test hasp3 unix-char path=/dev/bus/usb/001/003 mode=0777
$ lxc config device add test hasp4 unix-char path=/dev/bus/usb/001/004 mode=0777
$ lxc config device add test aks2 unix-char path=/dev/aks/hasp/1-3 mode=0777
$ lxc config device add test aks3 unix-char path=/dev/aks/hasp/1-4 mode=0777
$ lxc config set test security.privileged true
$ printf 'lxc.cgroup.devices.allow = c 198:* rwm' | lxc config set test raw.lxc -

$ lxc config edit test
$ lxc restart test

 lxd на хосте


 lxd на virtualbox



Поскольку сервер рабочий настроим архивацию

Настройка Ubuntu 16.04, 18.04

$ sudo nano /etc/default/rsync

#RSYNC_ENABLE=false
RSYNC_ENABLE=true

Сохранить.


$ sudo nano /etc/rsyncd.conf

[backup]
# destination directory to copy

path = /home/user/Документы/Archiv
# hosts you allow to access

hosts allow = 192.168.0.0/255.255.255.0
hosts deny = *
list = true
uid = root
gid = root
read only = false

Сохранить.

$ sudo mkdir -p  /home/user/Документы/Archiv
$ sudo systemctl enable rsync
$ sudo systemctl start rsync


Под windows 10 :


Можно сделать один скрипт и поставить в планировщик:

ping -n 1 -w 1000 192.168.0.7|Find "TTL=">nul
If %ErrorLevel%==0 (
CALL d:\Copy\rsync\rsync -avz  /cygdrive/D/Copy/Archiv 192.168.0.7::backup --progress
) Else (
Echo Offline
)

 $ sudo crontab -e
@reboot fstrim / -v

суббота, 9 ноября 2019 г.

lxd: запуск virtualbox внутри контейнера

lxc: running virtualbox inside a container
lxc: запуск virtualbox внутри контейнера

Хочется пользовать virtualbox (нужна кросплатформенность).
Не хочется работать с командной строкой.
Не хочется нарушать лицензионное соглашение, для работы через web.
Не хочется тянуть на хост desktop.

Virtualbox 6.0 стоит на хосте

user@lxd:~$  ls -la /dev | grep vbox
crw-rw----   1 root   vboxusers  10,  55 ноя 25 10:00 vboxdrv
crw-rw-rw-   1 root   root       10,  54 ноя 25 10:00 vboxdrvu
crw-rw----   1 root   vboxusers  10,  53 ноя 25 10:00 vboxnetctl
drwxr-x---   3 root   vboxusers       60 ноя 25 10:00 vboxusb
 
$ lxc launch ubuntu:18.04 vbx
$ lxc exec test /bin/bash
## passwd
# adduser user
# usermod -aG sudo user
# apt update
# apt upgrade
## apt install qemu-user-static -y
# apt install mc samba sudo ssh wget -y
# dpkg-reconfigure locales
## Выбираем ru_RU.UTF-8 ru_RU.UTF-8 UTF-8
# locale -a  
## timedatectl set-timezone Europe/Moscow
# dpkg-reconfigure tzdata
## apt install keyboard-configuration
# dpkg-reconfigure keyboard-configuration
# nano /etc/ssh/sshd_config
PasswordAuthentication yes
Сохранить.
# systemctl reload sshd
#apt install tasksel
# tasksel --list-tasks 
# tasksel install xubuntu-core
# apt install xrdp
# systemctl enable xrdp
## apt install x2goserver x2goserver-xsession
# reboot  


 
На хосте:
user@lxd:~$  ls -la /dev | grep vbox
crw-rw----   1 root   vboxusers  10,  55 ноя 25 10:00 vboxdrv
crw-rw-rw-   1 root   root       10,  54 ноя 25 10:00 vboxdrvu
crw-rw----   1 root   vboxusers  10,  53 ноя 25 10:00 vboxnetctl
drwxr-x---   3 root   vboxusers       60 ноя 25 10:00 vboxusb

$ lxc start vbox
$ lxc config device add vbox vboxdrv unix-char path=/dev/vboxdrv mode=0777
$ lxc config device add vbox vboxdrvu unix-char path=/dev/vboxdrvu mode=0777
$ lxc config device add vbox vboxnetctl unix-char path=/dev/vboxnetctl mode=0777

#$ lxc config set vbox linux.kernel_modules overlay
$ lxc config set vbox security.privileged true 
##$ printf 'lxc.cgroup.devices.allow = c 10:53 rwm' | lxc config set vbox raw.lxc -
$ lxc config edit vbox
  raw.lxc:
    lxc.cgroup.devices.allow = c 10:53 rwm
    lxc.cgroup.devices.allow = c 10:54 rwm
    lxc.cgroup.devices.allow = c 10:55 rwm 
$ lxc restart vbox

В контейнере:
Установка virtualbox в контейнере:
$ sudo sh -c 'echo "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" >> /etc/apt/sources.list.d/virtualbox.list'
$ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
$ sudo apt update
$ sudo apt install virtualbox-6.0
#$ sudo apt autoremove --purge virtualbox-6.0
$ sudo usermod -a -G vboxusers $USER
Не надо:

##$ sudo mknod -m 600 /dev/vboxdrv c 10 55
##$ sudo mknod -m 600 /dev/vboxdrvu c 10 54
##$ sudo mknod -m 600 /dev/vboxnetctl c 10 53
##$ sudo /sbin/vboxconfig
$ sudo reboot

Отдельная тема проброс hasp, пока не нужно.


$ lxc config edit vbox

### Это представление конфигурации в формате YAML.
### Любая строка начинающаяся с '#' будет игнорироваться.
###
### Пример конфигурации:
### name: container1
### profiles:
### - default
### config:
###   volatile.eth0.hwaddr: 00:16:3e:e9:f8:7f
### devices:
###   homedir:
###     path: /extra
###     source: /home/user
###     type: disk
### ephemeral: false
###
### Обратите внимание, что имя отображается, но не может быть изменено

architecture: x86_64
config:
  image.architecture: amd64
  image.description: ubuntu 18.04 LTS amd64 (release) (20191114)
  image.label: release
  image.os: ubuntu
  image.release: bionic
  image.serial: "20191114"
  image.version: "18.04"
  linux.kernel_modules: overlay
  raw.lxc: lxc.cgroup.devices.allow = c 10:53 rwm lxc.cgroup.devices.allow = c 10:54
    rwm lxc.cgroup.devices.allow = c 10:55 rwm
  security.privileged: "false"
  volatile.base_image: 028d045b1cfcfc8a69cc68674557bd86e015c0ba4bb5c3d6851043f785963728
  volatile.eth0.hwaddr: 00:16:3e:bd:b1:04
  volatile.idmap.base: "0"
  volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":tru$
  volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgi$
  volatile.last_state.power: RUNNING
devices:
  vboxdrv:
    mode: "0777"
    path: /dev/vboxdrv
    type: unix-char
  vboxdrvu:
    mode: "0777"
    path: /dev/vboxdrvu
    type: unix-char
  vboxnetctl:
    mode: "0777"
    path: /dev/vboxnetctl
    type: unix-char
ephemeral: false
profiles:


user@lxd:~$ lxc copy vbox vbox-cop
user@lxd:~$ lxc snapshot vbox backup
user@lxd:~$ lxc publish vbox/backup --alias vbox-backup
Контейнер публикуется с отпечатком: 4cc93c869cbc7686c61eabed84579b8386f4633ac1e0f7b7493c87274d000815
user@lxd:~$ lxc image export vbox-backup vbox

Восстановление на другом компьютере:

$ lxc image import vbox --alias vbox-backup
Образ, импортирован с снимком: 4cc93c869cbc7686c61eabed84579b8386f4633ac1e0f7b7493c87274d000815
$ lxc launch vbox-backup vbox