Как обновить виртуальную машину LXC на Debian или Ubuntu
Мы используем LXC (Linux Containers) система виртуализации на Ubuntu LTS. Задача обносить все гостевые контейнеры виртуальных машин на ОС Ubuntu или Debian.
Контейнет (виртуализация) не новая технология. Большое множество Unix аодобных систем уже разработали мощные системы виртуализации такие как: OpenVZ, FreeBSD jails, Solaris Zones и другие. LXC довольно эффективная система виртуализации. Ядро ОС (хост) позволяет использовать различные виды системы в различных запущенных процессах. Это так называемая песочница или раздробление процессора и других ресурсов.
Это очень удобно для увеличения безопасности сервера и его эффективности.
Безопасность Linux: Ядро, ОС и ПО должны быть обновлены.
Установка патчей, основная задача администрирования серверов Linux. Linux предлагает все средства, для обновления вашего сервера, а также легкого обновления версий. Для обновления введите слудующую команду:
1 |
yum update |
или
1 |
apt-get update && apt-get upgrade |
Что бы посмотреть список установленных виртуальных машин:
1 2 |
# lxc-ls -1 # lxc-ls |
Установка обновлений на виртуальный машины Debian/Ubuntu с основного сервера:
1 2 |
[hostOS]# lxc-attach -n VM-NAME-HERE apt-get update [hostOS]# lxc-attach -n VM-NAME-HERE apt-get -y upgrade |
Синтаксис обновления ОС виртуальных машин CentOS/RHEL/Fedora
1 |
[hostOS]# lxc-attach -n VM-NAME-HERE yum update -y |
Пример скрипта для обновления всех виртуальных хостов Debian/Ubuntu LXC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#!/bin/bash # Purpose: Update all lxc vms # Note: Tested on Ubuntu LTS only # Get the list vms="$(lxc-ls)" # Update each vm update_vm(){ local vm="$1" echo "*** [VM: $vm [$(hostname) @ $(date)] ] ***" /usr/bin/lxc-attach -n "$vm" apt-get -- -qq update /usr/bin/lxc-attach -n "$vm" apt-get -- -qq -y upgrade # Note for RHEL/CentOS/Fedora Linux comment above two line and uncomment the following line # # lxc-attach -n "$vm" yum -y update echo "-----------------------------------------------------------------" } # Do it for v in $vms do update_vm "$v" done |
Запуск скрипта
~/bin/lxc-update-vm.sh<.pre>