Архив рубрики: Proxmox

Изменение размера диска или раздела Linux

Рано или поздно всегда приходиться делать изменение размера диска или раздела Linux. Варианты как это сделать существуют разные и все зависит от конкретного случая. Постарался найти вариант который подходит для разных случаев.

Введение

Рано или поздно всем необходимо произвести изменение размера диска, раздела, или вообще перестроить разбивку диска по новому.

Вариантов как это сделать множество, но мне кажется я нашел идеальный и 100% рабочий вариант.

Основной принцип состоит из следующих моментов:

  • Подключаем дополнительный диск;
  • Загружаем систему с Live-образа;
  • Переносим информацию на дополнительный диск;
  • Создаем, изменяем разделы на требуемом диске;
  • Возвращаем данные в случае форматирования;
  • Обновляем загрузчик системы и вносим правки в файл системы отвечающий за подключение разделов диска в систему.

Это очень грубая общая схема не отражающая всех нюансов, но дающая понять суть процесса.

В моем случае необходимо было поменять размер диска с преобразованием системы XFS в EXT4 на виртуальной машине работающей в Proxmox.

Меня лично необходимость уменьшить раздел возникла по причине того что в системе Proxmox появился диск SSD, но вот перенести туда нужную машину я не мог по причине большого размера диска а не реально используемого пространства.

Подготовка

Обязательно перед выполнением работ сделайте резервные копии виртуальных машин или как минимум данных с них!

Все действия необходимо выполнять только на отключенных разделах.

Забегая вперед скажу, что для уменьшения размера диска мы будем использовать возможности типа файлов raw и для этого в системе Proxmox диски должны находится в файловом варианте.

В моем случае делались изменения размеров на корневом разделе а значит необходимо запустить систему с Live-образа. Для этих целей у меня сделана собственная сборка дистрибутива Calculate Linux где установлены все необходимые мне утилиты. Можно использовать любой удобный вам Live-образ системы Linux.

Перед началом работ выполните команду которая покажет все реально смонтированные диски в работающей системе:

df -h
= часть вывода команды =
/dev/sda2 10G   6,9G   3,2G  69%  /
/dev/sda3 89G   11G    79G   12%  /var/sevo44
/dev/sda1 976M  179M   731M  20%  /boot

Сохраните эти данные, так как в последствии нам с ними будет проще работать.

Загружаем систему используя Live-образ.

Работать в консоли самого Proxmox не удобно, так как нет возможности копировать команды.  Запускаю ssh сервер командой:

/etc/init.d/sshd start

Подключаюсь по ssh используя данные авторизации live-образа.

Все подготовительные действия сделаны и переходим к непосредственной работе с разделами диска.

В примере имеется ввиду что раздел /boot выведен на отдельный раздел и мы его не трогаем. Всегда при создании выношу раздел boot на отдельный раздел и не раз эта схема упрощала мне жизнь при работе или проблемах с диском.

Изменение размера диска без форматирования

В случае простого изменения размеров у разделов все просто.

К сожалению раздел XFS уменьшить нельзя а увеличить можно.

Запускаем программу Gparted и выполняем необходимые действия с имеющимися разделами. Уменьшаем, перераспределяем или отключаем какой то раздел и переносим в корень. Например, в моем случае раздел /var/sevo44 находился на отдельном разделе а мне захотелось перенести его в корневой раздел.

Самое главное это перед тем как удалять раздел и переносить его в общий не забудьте сохранить данные с него.

Если выполнялись действия только по изменению размера имеющихся разделов делать больше ничего не надо. После перезагрузки система успешно запустится с новым размером разделов.

Изменение размера диска с форматированием

В моем случае файловая система была XFS и для уменьшения этого раздела мне необходимо было его переформатировать.

Определяем имеющиеся диски в системе выполнив команду:

fdisk -l
= часть вывода команды с пояснениями =
Диск /dev/sda: 100 GiB, 107374182400 байт, 209715200 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x85300bf3
Устр-во    Загрузочный   начало     Конец   Секторы Размер Идентификатор Тип
/dev/sda1  *               2048   2099199   2097152     1G            83 Linux
/dev/sda2               2099200  23070719  20971520    10G            83 Linux
/dev/sda3              23070720 209715199 186644480    89G            83 Linux

Диск /dev/sdb: 32 GiB, 34359738368 байт, 67108864 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

Из вывода видно что sda рабочий диск а sdb подключенный.

Создаем раздел из всего диска sdb и форматируем его в ext4:

cfdisk -z /dev/sdb
mkfs.ext4 /dev/sdb1

Создаем две папки куда будем монтировать диски:

mkdir /mnt/sda && mkdir /mnt/sdb

Монтируем раздел sdb1 в необходимую папку:

mount /dev/sdb1 /mnt/sdb

C диском sda немного посложнее. В нашем случае разделы были подключены следующим образом:

df -h
= часть вывода с работающей системы =
/dev/sda2   10G    6,9G   3,2G  69%  /
/dev/sda3   89G    11G     79G  12%  /var/sevo44
/dev/sda1   976M   179M   731M  20%  /boot

Раздел sda1 надо оставить как есть а вот sda3 убрать переместив все данные в корневой раздел sda2.

Монтируем вначале главный раздел а затем вложенный:

mount /dev/sda2 /mnt/sda
mount /dev/sda3 /mnt/sda/var/sevo44

Проверяем что у нас получилось:

df -h
= часть вывода = 
/dev/sdb1  32G   49M   30G    1%  /mnt/sdb
/dev/sda2  10G  6.9G  3.2G   68%  /mnt/sda
/dev/sda3  89G   11G   79G   12%  /mnt/sda/var/sevo44

Всё смонтировалось как надо.

Переносим теперь все данные с папки /mnt/sda в папку /mnt/sdb

Переносить необходимо в консольном файловом менеджере Midnight Commander (mc), так как она при переносе сохранит все права на файлы и перенесёт все один в один.

Есть и другие способы переноса в консоли, но вариант с Midnight Commander проще и наглядней.

После переноса проверяем правильность и только после этого отключаем разделы диска sda строго в таком порядке:

umount /mnt/sda/var/sevo44
umount /mnt/sda

Запускаем программу Gparted с Live-образа и делаем с разделами что нам необходимо. В моем случае получилось следующее:

Удалил раздел sda3 а раздел sda2 увеличил и отформатировали в формат ext4. Уменьшили диск больше чем на 50 Гиб.

Можно высчитывать и обрезать раздел ровно для последующего уменьшения, но мне проще потом его расширить подключившись с Live-образа.

Монтируем sda2 в папку /mnt/sda и копируем обратно в программе mc все данные с папки /mnt/sdb в /mnt/sda:

mount /dev/sda2 /mnt/sda

После копирования и проверки отключаем sdb1:

umount /mnt/sdb

Теперь нам необходимо отредактировать файл /etc/fstab который отвечает за монтирование разделов.

Определим какие uuid у разделов диска sda (при форматирование раздела uuid меняется на новый):

# blkid
= часть вывода =
/dev/sda1: UUID="fe3e2650-e8ed-48c0-91af-6dd7091114b5" TYPE="ext4" PARTUUID="85300bf3-01"
/dev/sda2: UUID="611171b8-5da5-460c-a6da-7bf8d42f2128" TYPE="ext4" PARTUUID="85300bf3-02"

Открываем /mnt/sda/etc/fstab и смотрим какие там прописаны uuid и параметры файловых систем:

vim /mnt/sda/etc/fstab
= часть необходимого вывода =
UUID=24b899e5-70a1-42f3-9df9-26edbae4ddec /           xfs defaults 0 0
UUID=fe3e2650-e8ed-48c0-91af-6dd7091114b5 /boot       ext4 defaults 1 2
UUID=11f4da95-8de0-4817-b4a9-48d3e859db09 /var/sevo44 xfs defaults 0 0

Как видим у раздела /boot uuid не поменялся а вот у корневого сменился. Приведем файл к необходимым параметрам:

= необходимая для изминения часть =
# /dev/sda2
UUID=611171b8-5da5-460c-a6da-7bf8d42f2128 /     ext4 defaults 1 1
# /dev/sda1
UUID=fe3e2650-e8ed-48c0-91af-6dd7091114b5 /boot ext4 defaults 1 2

Обновление загрузчика Grub2

После перезагрузки системы CentOS 8 вы увидите такое сообщение:

Система говорит что она не видит корневой диск с таким uuid.

В случае если вы делали изменения раздела /boot вы увидите другую ошибку и способ устранения этой ошибки выходит за рамки данной статьи.

Решается эта проблема в два шага:

  1. Загрузится указав правильный uuid;
  2. В загрузившейся системе обновить Grub2.

Запускаем систему и как только увидите варианты загрузки нажимайте клавишу е:

В результате вы увидите место где необходимо сменить информацию:

Меняем на наш новый uuid 611171b8-5da5-460c-a6da-7bf8d42f2128 и нажимаем сочетание клавиш Ctrl и X.

Система загрузится, но значения загрузчика не поменяются. Выполним команду которая обновит grub2 в системе CentOS 8:

grub2-mkconfig -o /boot/grub2/grub.cfg
= вывод команды =
Generating grub configuration file ...
Found CentOS Linux 8 (Core) on /dev/sdb1
done

Все успешно обновилось, но я не отключил дополнительный диск и он добавился в меню загрузчика. На работу системы это никак не повлияет, но лучше не забывать отключать дополнительный диск после того как он больше не нужен.

Диск мы уменьшили и добились работоспособности системы теперь осталось выполнить последнее действие по уменьшению файла raw.

Преобразование раздела утилитой fstransform

Существует более простой способ, но как он работает на практике точно сказать не могу. Для меня описанный вариант выше более надежен, так как я не завишу от правильности действий этой утилиты.

Утилита называется fstransform и способна она преобразовывать в разные форматы.

Для преобразования корневого раздела необходимо загрузится с Live-образа установить утилиту и преобразовать нужный раздел.

Для Live-образа системы Debian (консольный вариант) нам вначале необходимо получить права root:

sudo su

Обновить список пакетов и установить:

apt update
apt install fstransform

Определить нужный раздел для преобразования командой # fdisk -l и запустить необходимую команду:

fstransform /dev/sda2 ext4

Раздел преобразуется с изменением uuid и дальше необходимо выполнить действия аналогично описанным выше.

Боле подробно об утилите можно посмотреть тут.

Уменьшение диска образа RAW

Возможно если у вас виртуальная машина работает на LVM существует способ более простой и не надо переносить образ в файловый вариант, но мне не захотелось выполнять более сложные действия с системой LVM.

Воспользуемся командой которая может произвести изменение диска обрезав образ диска raw с конца на нужный размер.

В нашем случае номер виртуальной машины был 112 и нам необходимо уменьшить образ на 50 G:

qemu-img resize /var/lib/vz/images/112/vm-112-disk-0.raw -50G
= вывод команды =
WARNING: Image format was not specified for '/var/lib/vz/images/112/vm-112-disk-0.raw' and probing guessed raw.
Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
Specify the 'raw' format explicitly to remove the restrictions.
qemu-img: warning: Shrinking an image will delete all data beyond the shrunken image's end. Before performing such an operation, make sure there is no important data there.
qemu-img: warning: Using the --shrink option will suppress this message. Note that future versions of qemu-img may refuse to shrink images without this option.
Image resized.

Как видим образ успешно изменён.

Осталось загрузится c Live-образа и в программе Gparted задействовать все свободное место от диска.

В системе Proxmox после изменения размера диска в разделе вы увидите уже новые параметры а вот в свойствах машины будет стоять старое значение. Возможно необходимо выполнить какое то действие, но в моем случае я переношу диск на раздел LVM и после этого везде будет показываться правильное значение.

Вывод

Как видно из статьи нюансы и главное внимательность при работе с разделами главный залог успеха. В любом случае всегда необходимо делать резервную копию выполняя изменение размера диска.

При создании новой системы всегда в голове возникает мысль как лучше разбить и какое использовать место, но попасть в нужные параметры удаётся не всегда. Зная как производить изменение разделов можно больше не ломать голову а делать все стандартным проверенным способом и в случае необходимости все исправить.

PROXMOX 5 установка и настройка

Установим систему виртуализации Proxmox 5 версии на Raid1 в операционной системе Debian 9. В качестве гипервизора система использует KVM и LXC. Возможность виртуализировать все популярные операционные системы. Удобная и понятная панель управления.

Введение

Использовать систему в работе удобно и за все время использования она меня не подводила. Начинал использование с 4 версии, но вышла 5 версия с очень удобными и функциональными изменениями. Сразу после выхода новой версии любого программного продукта я не спешу обновляться и всегда жду в районе 3 месяцев, так я избавляю себя от ошибок которые всегда есть при выходе любой новой версии. На сайте разработчика есть инструкции как производить обновление на новую версию. Вариант установки как с готового образа iso так и ручная установки на Debian.

Никогда не устанавливайте и не загружайте систему разными сервисными службами, на которой установлен Proxmox, если не хотите иметь проблем при обновлении! Отдавайте под раздел boot минимум 500 мегабайт если не хотите получать ошибку о нехватке места при обновлении ядра!

В моем случае я как раз нарушил оба этих правила и обновить систему не удалось.

Сильно установка и подход к варианту использования мной в новой версии не отличается от предыдущей. Перейдите по ссылке вы найдете там все нужную информацию.

В этой статье я расскажу об моих нюансах при настройке, более расширено поведаю про вариант моей настройки и за что именно мне так нравится работать с этой системой.

Установка Proxmox 5 с нюансами

В дальнейшем будем исходить из того что:

  • Настроена пересылка почты на внешний адрес,
  • Установлен SWAP раздел в виде файла,
  • Используется mdadm raid1,
  • Используется два сетевых интерфейса.

Инструкция по установке от разработчика Proxmox

На сайте разработчика вы найдете подробную инструкцию как установить Proxmox 5 версии на систему Debian 9.

Изучив инструкцию разработчика и мою предыдущую статью у вас придет понимание о том как необходимо правильно устанавливать систему виртуализации.

Подключение старых Raid 1 масивов

В моем случае в старой системе было 2 диска на которых было 2 массива RAID1. После подключения дисков в Proxmox 5 выведем информацию о массивах:

cat /proc/mdstat
= вывод команды =
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : active raid1 sdc1[0] sdd1[1]
 972668928 blocks super 1.2 [2/2] [UU]
 bitmap: 0/8 pages [0KB], 65536KB chunk

md127 : active (auto-read-only) raid1 sdc2[0] sdd2[1]
 980582464 blocks super 1.2 [2/2] [UU]
 bitmap: 0/8 pages [0KB], 65536KB chunk

md1 : active raid1 sdb2[1] sda2[0]
 244066304 blocks super 1.2 [2/2] [UU]
 bitmap: 1/2 pages [4KB], 65536KB chunk

md0 : active raid1 sdb1[1] sda1[0]
 975296 blocks super 1.2 [2/2] [UU]
 
unused devices: <none>

Видим два массива md126 и md127. Такую нумерацию дала система по умолчанию. Меня это не совсем устраивает и я переименую их в md2 и md3 соотвественно. Переименование осуществляем стандартным способом. Останавливаем и удаляем массив:

mdadm --stop /dev/md126
mdadm --remove /dev/md126

Собираем с новым именем:

mdadm --assemble /dev/md2 /dev/sd[cd]2 --update=name

Добавляем в /etc/mdadm/mdadm.conf нужную информацию:

mdadm --examine --scan | grep 'md/2' >> /etc/mdadm/mdadm.conf

Проверим выполненные действия:

cat /etc/mdadm/mdadm.conf
= вывод команды =
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md/0 metadata=1.2 UUID=d2f35a7c:c01935c3:4518c36a:fa9bab1c name=proxmox:0
ARRAY /dev/md/1 metadata=1.2 UUID=30b2043b:d51bfbca:a663c213:07fccdbe name=proxmox:1
ARRAY /dev/md/2 metadata=1.2 UUID=50b54af3:041683d2:376764c3:a9a3b1ec name=proxmox:2

Все хорошо. Мы изменили название массива, но после перезагрузки вы удивитесь что названия не изменились и это особенность системы Proxmox.

При добавлении ранее собранных массивов RAID в систему Proxmox 5 необходимо обновить ядро системы! Если это не сделать то после перезагрузке названия изменятся на те что были до изменения!

Обновим ядро выполнив необходимую команду:

update-initramfs -u

Все другие массивы делаем аналогичным способом.

Настройка сетевых интерфейсов

Настройка сетевых интерфейсов это отдельная тема и сильно вникать в детали я не буду. Расскажу как использую я и что считаю самым удобным и оптимальным при использовании. В случае использования одного сетевого интерфейса все просто. Создаете Bridge и все виртуальные машины будут в одной локальной сети. При использовании двух сетевых интерфейсов варианты реализации увеличиваются. В моем случае сетевой шлюз расположен на виртуальной машине и весь сетевой трафик идет через него. Для такого варианта реализации на обоих сетевых интерфейсах создаем Bridge. Вот так выглядят мои сетевые настройки в панели управления Proxmox 5:

На всякий случай, для понимания, приведу пример как это выглядит в файле настроек сетевых интерфейсов:

cat /etc/network/interfaces
= вывод команды =
auto lo
iface lo inet loopback

source /etc/network/interfaces.d/*

iface enp5s0f0 inet manual

iface enp5s0f1 inet manual

auto vmbr0
iface vmbr0 inet static
 address 192.168.0.100
 netmask 255.255.255.0
 gateway 192.168.0.106
 bridge_ports enp5s0f0
 bridge_stp off
 bridge_fd 0

auto vmbr1
iface vmbr1 inet static
 address 192.168.1.100
 netmask 255.255.255.0
 bridge_ports enp5s0f1
 bridge_stp off
 bridge_fd 0

Распишу что к чему в этой настройке:

  • enp5s0f1 — физическая сетевая карта в которую вставлен провод от внешней сети с которой получаю интернет от роутера Asus,
  • vmbr1 — Bridge сетевой карты enp5s0f1 которому назначен сетевой адрес 192.168.1.100 и другие необходимые параметры,
  • enp5s0f0 — физическая сетевая карта которая работает с внутренней локальной сетью,
  • vmbr0 — Bridge сетевой карты enp5s0f0 которому назначен сетевой адрес 192.168.0.100 и другие необходимые параметры.

Обращаю внимание что в на одной из виртуальных машин настроен шлюз и только в таком варианте возможна работа всех виртуальных машин и реальных компьютеров в данном варианте настройки сети.

При настройке виртуальной машины в качестве шлюза надо добавить два сетевых устройства и назначить каждой свой Bridge и выполнить необходимые настройки для шлюза. Будут вопросы внизу есть комментарии на которые я всегда отвечаю.

Проброс портов в локальную сеть с интернета

Немного расскажу о пробросе необходимых портов на нужную машину в локальной сети из интернета при моем варианте организации сетевых настроек. Проброс складывается из двух действий:

  1. Пробрасываем порт с роутера Asus на машину с установленным шлюзом,
  2. На самом шлюзе пробрасываем порт до нужной машины.

Останавливаться на настройке самого шлюза не буду. Скорей всего расскажу об этом в своих следующих статьях.

Прелести работы с Proxmox 5

Коротко пробегусь по основным моментам в работе с Proxmox 5 дабы вы смогли оценить всю прелесть использования этой системы.

Подключение новых хранилищ

По умолчанию после установке в системе находится всего одно хранилище. При желании вы можете подключить и другие хранилища разными популярными способами. Выбор вариантов удовлетворит почти любые требования. Для каждого хранилища помимо указывания названия, места и способа расположения есть два параметра:

  1. Содержимое — выбор какие именно типы файлов будут хранится в этом хранилище, что сильно упрощает варианты выбора при дальнейшей настройке,
  2. Макс. резерв. копий — в случае использования хранилища для резервных копий выставляете количество копий.

Вот так всё это выглядит в панели управления:

Подключение хранилища NFS

Для бэкапов виртуальных машин и образов ISO  мне удобно использовать сервер настроенный специально для всевозможных бэкапов. Перейдите по этой ссылке и узнаете про настройку сервера NFS.

В Proxmox достаточно добавить хранилище NFS и указать необходимые параметры.

После указания ip адреса в случае правильной работы сервера NFS путь покажется в выборе.

Укажите необходимое количество резервных копий!

Загрузка образов и шаблонов

Перед тем как приступить к установке виртуальной машины или контейнера LXC необходимо их туда загрузить.

Образы ISO вы можете грузить любых операционных систем! Контейнеры LXC лучше использовать из предложенных вариантов. Только стандартные шаблоны LXC будут стабильно работать в системе.

Выбираем хранилище, переходим в «Содержимое» в случае с загрузкой iso выбираем «Загрузить». Для контейнеров выбираем «Шаблоны». Вот так выглядит вариант загрузки ISO образа:

После загрузки нажимаем «Создать VM» или «Создать СT»

Создание виртуальной машины и LXC

Рассматривать разницу между виртуальной машиной и контейнером LXC в данной статье я не буду. У каждого варианта есть как свои плюсы так и минусы. Просто имейте ввиду что это возможно а что вам подходит больше вы поймете когда изучите данный вопрос.

Не буду рассказывать про установку LXC опишу установку виртуальной машины так как такой вариант максимально часто используется. Установка производится в несколько этапов. На первом этапе необходимо указать ID машины и название. На практике для удобства я назначаю id машины такой же какой в последствии будет ip адрес машины. При таком варианте мне всегда просто понять как подключится к машине по ssh. В имени я всегда указываю какую роль выполняет машина и какая операционная система.

На следующем шаге нам необходимо выбрать iso образ требуемой операционной системы.

Выбор вариантов установки операционных систем радует.

К выбору варианта жесткого диска надо отнестись серьезно и советую перед выбором ознакомится с вариантами вида работы виртуального диска его размера и формата!

Для систем Linux я обычно использую вариант как показан ниже.

CPU мы выбираем на свое усмотрение и потребности, но что самое приятное как в выборе CPU так и памяти в следствии, это что всегда можно изменить исходя из загрузки и указать оптимальные параметры.

Память можно указать как жестко таки и задать диапазон в зависимости от специфики виртуальной машины. Использую оба варианта и проблем не возникает.

Сетевые параметры тоже не вызывают больших вопросов и выбираются в зависимости от того как вы настроили свой гипервизор на базе Proxmox 5.

На финальной стадии смотрим все параметры что выбрали и если всё устраиваем жмем «Завершить» и машина создастся в очень короткий срок.

Вот такими четкими и понятными шагами мы создали виртуальную машину и что меня всегда радует — все параметры можно изменить. Сложность может возникать только в работе с жесткими дисками, но это уже совсем другая пляска.

Консоль работы с виртуальными машинами

Первое что нам потребуется при работе с виртуальными машинами это монитор для работы с машиной. Грубо говоря консоль это монитор нашей виртуальной машины который мы можем использовать двух типов. Два типа варианта консоли для работы с виртуальными машинами или CLX:

  • В окне самой панели управления, но это не всегда удобно так как зависит от разрешения экрана

  • Вывод в отдельном окне по нажатию кнопки «Консоль» сверху справа и с последующей возможности развернуть на весь экран.

Работать в консоли довольно просто и понятно.

Нюанс при работе в консоли состоит только в том что могут быть непонимания с переключением раскладки. Просто имейте ввиду что после смены раскладки в самой консоли у вас не будет смены лишь потому что надо на компьютере с которого работайте тоже переключить раскладку. К этому нюансу вы быстро привыкнете.

В последствии, как правило, на системах Windows вы настроите «Удаленный рабочий стол» а для работы с системами LInux вы будете использовать ssh и работать через консоль.

Проброс USB устройств в виртуальную машину

Эта пожалуй самая главная вкуснятина в новой версии. В предыдущей статье я изложил как произвести USB проброс в Proxmox  в старой версии (а в последствии обновил статью и добавил возможности в 5 версии). Перейдите по указанной ссылке и увидите как разработчики идут на встречу удобству использования своей системы.

Резервное копирование виртуальных машин в системе Proxmox 5

Никогда нельзя быть на 100% уверенным в правильности выполняемых действий и спасти от краха системы может только правильный подход при создании резервных копий. В системе Proxmox ребята решили вопрос с бэкапами идеально. Существует два способа резервного копирования.

Ручное создание бэкапа

Выбираем нужную машину, переходим в «Резервирование», и нажимаем «Резервировать сейчас» настраиваем параметры что нам надо и получаем резервную копию в очень короткий период. Окно можно закрывать и позже открыть для просмотра результата.

Не забываем про политику количества резервных копий для хранилища. Если настроено автоматическое копирование необходимо удалить одну из копий чтобы произвести ручное создание резервной копии. Мне больше нравится сохранять в другое место. Куда сохранять ручную копию решать вам.

Автоматическое создание бэкапа

Тут все еще приятней. Переходим в «Датацентр» — «Резервирование» и добавляем задания для резервирования. Все что надо для параметров есть. Время, период и на какую почту оповещать и тд. и тп.

Восстановление из резервной копии

Перед запуском восстановления необходимо остановить виртуальную машину!

Переходим в раздел восстановления выбираем нужную копию и жмем «Восстановление».

Вот так удобно и просто работать с резервным копированием.

Варианты загрузки виртуальных машин

Присутствует возможность автоматически загружать виртуальную машину после перезагрузки системы Proxmox. Порой бывает необходимо чтобы какая то машина стартовала первой а следом все остальные. Даже такую нужную опцию разработчики предусмотрели. В закладке «Опции» виртуальной машины есть значения:

  • Запуск при загрузке — выбираем ДА или НЕТ,
  • Start/Shutdown order — параметры запуска и остановки машины. По умолчанию стоит параметр order=any.

Вот так выглядит окно с настройками Start/Shutdown order:

Выбираем какая по очереди стартует машина, задержка в секундах перед запуском следующих и параметр принудительного выключения если машина при перезагрузки системы не остановится корректно.

Мониторинг виртуальных машин

На закладке «Сводка» у виртуальной машины вы увидите все основные параметры работы виртуальной машины. Можно при желании заполнить блок «Заметки».

Информация SMART о состоянии HDD

Перейдя в раздел «Disks» вы увидите все ваши диски и можете посмотреть состояние SMART.

Мало того если выйдет из строя Raid1 вы получите сообщение на почту. Вот такое пришло мне сообщение на почту когда на диске стали проявляться плохие сектора:

«This message was generated by the smartd daemon running on: host name: proxmox DNS domain: sevo44.loc The following warning/error was logged by the smartd daemon: Device: /dev/sdf [SAT], 1 Currently unreadable (pending) sectors Device info: WDC WD10EARS-00Y5B1, S/N:WD-WMAV51109954, WWN:5-0014ee-0ac9680cc, FW:80.00A80, 1.00 TB For details see host’s SYSLOG. You can also use the smartctl utility for further investigation. The original message about this issue was sent at Sat Oct 14 10:21:50 2017 MSK Another message will be sent in 24 hours if the problem persists.»

И все это прямо из коробки без настройки системы мониторинга.

Мониторинг параметров системы

На странице «Датацентр» — «Сводка» вы ознакомитесь со всеми основными параметрами работы системы виртуализаци. Наглядно и красиво.

Права доступа в систему

Права доступа можно предоставлять пользователям по совершенно разным параметрам.

Firewall в системе Proxmox 5

По умолчанию система Firewall на «Датацентр» отключена, но при желании можете настроить на свой вкус и цвет. На самом узле система включена.

Тема настройки защиты отдельная тема и относится к ней надо очень осторожно чтобы из за ошибочных действий не закрыть доступ.

Логирование Proxmox

Все необходимые логи вы сможете посмотреть в панели управления.

Вывод

Один из важных моментов заключается в том что старайтесь управлять системой с панели управления так как попытка настроить параметры в консоли может вызвать проблемы в работе с системой!

Вы еще не захотели использовать систему виртуализации Proxmox? Попробуйте и вы не пожалеете. Мною используются далеко не все возможности и возможно для себя вы найдёте то, что давно хотели использовать в работе с виртуальными системами без проблем в настройках. Свобода использования, активное развитие, удобное использование и обслуживание системы однозначно ставит систему Proxmox для меня на первое место. Возможно в последующем я освою как делать репликацию между двумя отдельными системами Proxmox, но в работе это пока не требуется так как в малых и средних организациях вопрос об использовании двух серверов не стоит. Меня уже радует когда на приобретение одного хорошего сервера выделяют необходимый денежный ресурс.

USB проброс в Proxmox

Рассмотрим вариант подключения в виртуальную машину USB устройства. Вариаций этих устройств множество и все их можно без проблем подключить к требуемой виртуальной машине. В системе виртуализации Proxmox делается это быстро и просто.

Для 5 версии Proxmox

С выходом новой версии проброс USB устройств сильно упростился. Нам достаточно выбрать виртуальную машину, добавить устройство указав вариант его проброса по порту или id.

Для 4 версии Proxmox

С инструкцией по подключению USB устройств вы можете ознакомится на официальном сайте Proxmox.

Определение устройства

Подключим в систему Proxmox необходимое устройство и в консоли выведем информацию о подключенияx.

lsusb
= вывод команды =
Bus 001 Device 005: ID 0781:5572 SanDisk Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 0665:5161 Cypress Semiconductor USB to Serial
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Видим подключенную флэшку.

Выведем информации о том на каких портах висят устройства.

lsusb -t
= вывод команды =
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
 |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbfs, 1.5M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M
 |__ Port 3: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 480M

Видим нашу флэшку которая села на Bus 01 Dev 5 на Port 3.

Варианты проброса устройств

Существуют два вариант передачи USB-устройства в виртуальную (гостевую) систему:

  • передать определенное устройство — при перемещении usb-устройства в другой порт не надо ничего перенастраивать. Вариант хорош, когда надо пробросить одно устройство и второго подобного не будет,
  • передать порт — вариант передает порт на котором работает устройство.

Оба варианта имеют свои нюансы и решать каким пользоваться только вам. Мне больше нравится вариант с пробросим порта, так как он не вызывает непонятных проблем после перезагрузки.

Проброс осуществляются по номеру виртуальной машины. Папка с файлами для редактирования находится по адресу /etc/pve/qemu-server/ в ней вы увидите все ваши виртуальные машины.

Проброс USB устройства

Откроем необходимый файл и добавим нужные параметры.

mcedit /etc/pve/qemu-server/104.conf
= вывод команды с необходимыми добавлениями =
balloon: 500
bootdisk: sata0
cores: 2
ide2: local:iso/CentOS-7-x86_64-DVD-1511.iso,media=cdrom
memory: 1500
name: lamp.sevo44.ad-centos7
net0: e1000=7A:5A:34:67:6C:52,bridge=vmbr0
numa: 0
onboot: 1
ostype: l26
sata0: images:104/vm-104-disk-1.qcow2,size=400G
scsihw: virtio-scsi-pci
smbios1: uuid=4374a7e1-1fc7-4eaf-9567-aa5f9cb19b33
sockets: 2
# Проброс устройства USB
# где 0781:5572 - это device ID
usb0: host=0781:5572

Проброс USB порта

Для проброса по порту надо указать другую строчку в необходимом файле.

mcedit /etc/pve/qemu-server/104.conf
= вывод команды с необходимыми добавлениями =
balloon: 500
bootdisk: sata0
cores: 2
ide2: local:iso/CentOS-7-x86_64-DVD-1511.iso,media=cdrom
memory: 1500
name: lamp.sevo44.ad-centos7
net0: e1000=7A:5A:34:67:6C:52,bridge=vmbr0
numa: 0
onboot: 1
ostype: l26
sata0: images:104/vm-104-disk-1.qcow2,size=400G
scsihw: virtio-scsi-pci
smbios1: uuid=4374a7e1-1fc7-4eaf-9567-aa5f9cb19b33
sockets: 2
# Проброс USB порта
# где 1-3 это шина Bus 01 и номер порта Port 3
usb0: 1-3

После перезагрузки устройства будут проброшены.

Результат

В новой 5-ой версии все упрощается но знать механизм как это работает изнутри всегда хорошо. Можно определять подключенные USB устройства командой «qm monitor НОМЕР_ВИРТУАЛЬНОЙ_МАШИНЫ» и после подключения вводить команду «info usbhost» или «info usb». Мне этот вариант показался не совсем логичным, так как требует указывать номер виртуальной машины, но при разных вариантах ввода номера машины показывает одинаковую информацию. Делая по рассмотренному способу, у меня всё работает. Главное не способы а результат!

RAID1 запуск после отказа

Для тестирования работы RAID1 потребовалось физически отключить диск, но после подключения обнаружил что массив не работает. После сбоя он не включится сам собой, необходимо определить проблему и перезапустить массив в ручном режиме.

Информирование о неисправности RAID1 массива

В системе Proxmox, которую мы настроили, если массив дал сбой обязательно придёт сообщение на почту.

Обязательно настройте такое оповещение любыми удобными для Вас способами.

Определение проблемного раздела

Для определения проблемного раздела выполните команду:

cat /proc/mdstat
=вывод команды=
Personalities : [raid1]
md2 : active raid1 sda3[2](S) sdb3[1]
 307683752 blocks super 1.2 [2/1] [_U]
md1 : active raid1 sda2[2] sdb2[1]
 3902759 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[2] sdb1[1]
 979921 blocks super 1.2 [2/2] [UU]
unused devices:

Видим что массив md2 развалился и раздел sda3 выпал.

Действия после исправления раздела

Допустим что мы исправили диск и он с физической точки зрения исправен.

Удаление раздела из массива

Удаление выполняется командой:

mdadm /dev/md2 -r /dev/sda3

Добавление раздела в массив

Добавляем выполнив команду:

mdadm /dev/md2 -a /dev/sda3

Проверка массива

Проверим правильность работы массива командой:

cat /proc/mdstat
=вывод команды=
Personalities : [raid1]
md2 : active raid1 sda3[2] sdb3[1]
 307683752 blocks super 1.2 [2/1] [_U]
 [>....................] recovery = 0.4% (1518592/307683752) finish=83.9min speed=60743K/sec
md1 : active raid1 sda2[2] sdb2[1]
 3902759 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[2] sdb1[1]
 979921 blocks super 1.2 [2/2] [UU]
unused devices:

Видим что пошла синхронизация разделов, а значит все прошло успешно.

Чтобы в реальном времени смотреть процесс сборки массива, достаточно ввести:

watch cat /proc/mdstat

Чтобы вывести более детальную информацию о необходимом массиве можно выполнить команду:

mdadm --detail /dev/md2
/dev/md2:
 Version : 1.2
 Creation Time : Thu Mar 29 19:10:24 2012
 Raid Level : raid1
 Array Size : 307683752 (293.43 GiB 315.07 GB)
 Used Dev Size : 307683752 (293.43 GiB 315.07 GB)
 Raid Devices : 2
 Total Devices : 2
 Persistence : Superblock is persistent
 Update Time : Fri Mar 30 17:47:48 2012
 State : clean, degraded, recovering
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
 Spare Devices : 1
 Rebuild Status : 1% complete
 Name : debian:2 (local to host debian)
 UUID : 44da8106:3d3c2f10:446517c7:b9b4d593
 Events : 1028
 Number Major Minor RaidDevice State
 2 8 3 0 spare rebuilding /dev/sda3
 1 8 19 1 active sync /dev/sdb3

IPPON 2000 на Proxmox

Установим и настроим источник бесперебойного питания IPPON SMART POWER PRO 2000 подключенный к система Proxmox в системе Debian через USB порт. Защитим нашу рабочую станцию от основных неполадок с электропитанием в России.

Установка графического интерфейса Proxmox

Для настройки программы нам понадобится графический интерфейс системы X11.

Можно установить XFCE4 с браузером Iceweasel выполнив команду:

apt-get install xfce4 iceweasel lightdm

Можно установить LXDE рабочий стол, выполнив команду:

apt-get install lxde iceweasel

Используйте один из представленных вариантов на свой выбор.

Проверка работы Network-manager

Необходимо убедитесь, что сетевой менеджер network-manager не используется, иначе Proxmox может не запуститься.

Проверим работу  выполнив команду:
apt-get purge network-manager
=вывод команды=
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Пакет «network-manager» не установлен, поэтому не может быть удалён
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Отлично. Network-manager не используется.

Скачивание программного обеспечения WinPower для IPPON

С сайта производителя скачиваем необходимую нам версию программы WinPower 2018 (версия 5.5.0.0) для Linux AMD 64bit.

Установим Wget без вопросов для загрузки файлов в консоли Linux.

yum -y install wget
Переходим в директорию root и скачиваем туда нужную версию программы используя Wget введя команды:
cd /root
wget http://static.ippon.ru/data/download/winpower2018/winpower_setup_linuxamd64.tar.gz
Распакуем архив в папку с одноименным названием выполнив команду:
tar xvfz winpower_setup_linuxamd64.tar.gz
=вывод команды=
winpower_setup_linuxamd64/
и тд. и тп.

Инструкция по установке WinPower

Инструкцию можно прочитать в файле install_linuxAMD64.txt выполнив команду:
cat /root/Winpower_setup_LinuxAMD64/install_linuxAMD64.txt
=вывод команды=
======================
System Requirements
======================  
        128 MB (recommended minimum) 
        256 MB (recommended) 
        160 MB hard disk space (depending on features installed) 
        Red Hat Linux 6.2 or later
        Intel Pentium II 233 MHz or compatible
        
==================
Install Winpower
==================
        1.  Enter /LinuxAMD64 directory. If system is running in GUI mode, double click setup.bin to start the installation. If system is running in Text mode, execute ./setup_console.bin to start the installation. 
        2.  Read the information provided, then press ENTER to continue .
        3.  When the installation program is completed,reboot the system to set enviroment variables for Winpower(which is set in /etc/profile).
        Note: The installation should be made as "root"!
================     
Run Winpower
================
        1.  Start Agent
            Winpower Agent will auto start when Linux system start.
            You can also start agent manually by open the terminal and execute command:
            cd /opt/MonitorSoftware/
            ./agent start
            
        2.  Start Monitor
            execute command:
            cd /opt/MonitorSoftware/
            ./monitor
        3.  Get Full Access
            In "System" menu, click "Act as Administrator" menu item to start the "Administrator" dialog, enter correct password to get full access.
            The default password is set to "Administrator".It can be changed in "Modify Administrator Password" dialog.
          
        4.  Communicate with UPS
            In "System" menu, click "Auto Search UPS" menu item to auto search the UPS connected with Computer.
==============        
Stop Winpower
==============
        1.  Close Manager.
        2.  Open the Terminal, enter install directory:
            and execute command:
            ./agent stop
====================
Uninstall Winpower
====================
        1.  Open the Terminal, enter install directory:
            and execute command:
            ./Uninstall
В инструкции указаны все необходимые команды и сказано что всё выполнять необходимо из под пользователя root.

Установка программы WinPower

Перейдем в необходимую директорию и запустим скрипт установки выполнив команды:

cd /root/Winpower_setup_LinuxAMD64/LinuxAMD64
./setup_console.bin
=вывод команды с необходимыми параметрами=
!указываем SN и жмем везде Enter!
Preparing CONSOLE Mode Installation...

====================================================================
Winpower 5.5.0.0                       (created with InstallAnywhere by Zero G)
--------------------------------------------------------------------

====================================================================
Introduction
------------

InstallAnywhere will guide you through the installation of Winpower 5.5.0.0.

It is strongly recommended that you quit all programs before continuing with 
this installation.

Respond to each prompt to proceed to the next step in the installation.  If you
want to change something on a previous step, type 'back'.

You may cancel this installation at any time by typing 'quit'.

PRESS <ENTER> TO CONTINUE: 

====================================================================
Enter Serial Number
-------------------

This installation requires a serial number to continue.

Please Enter the Serial Number:: 511C1-01220-0100-478DF2A

====================================================================
Choose Install Folder
---------------------

Where would you like to install?

  Default Install Folder: /opt/MonitorSoftware

ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
      : 

====================================================================
Pre-Installation Summary
------------------------

Please Review the Following Before Continuing:

Product Name:
    Winpower 5.5.0.0

Install Folder:
    /opt/MonitorSoftware

Disk Space Information (for Installation Target): 
    Required:  200 889 229 bytes
    Available: 3 535 523 840 bytes

PRESS <ENTER> TO CONTINUE: 

====================================================================
Installing...
-------------

 [==================|==================|==================]
 [------------------|------------------|------------------|---------]

====================================================================
Installation Complete
---------------------

Congratulations. Winpower 5.5.0.0 has been successfully installed to:

/opt/MonitorSoftware

Please restart your system before running the Winpower 5.5.0.0!

PRESS <ENTER> TO EXIT THE INSTALLER:

В конце установщик сообщил что для настройки необходима графическая оболочка системы X11 которую мы установили ранее.

Запуск агента программы WinPower

Перейдём в необходимую папку и запустим агента программы WinPower выполнив команду:

cd /opt/MonitorSoftware/
./agent start
=вывод команды=
 Starting Agent: 
 Done

Автозагрузка агента при старте системы Proxmox

Создадим файл agent.sh с необходимыми параметрами.

Создадим файл в нужной папке и укажем нужные параметры:

cd /opt/MonitorSoftware/
mcedit agent.sh
=необходимые параметры=
#!/bin/bash
cd /opt/MonitorSoftware
./agent start

Сделаем файл исполнительным выполнив команду:

chmod +x /opt/MonitorSoftware/agent.sh

Добавим необходимый параметр в файл отвечающий за автозагрузку необходимых скриптов выполнив команду:

mcedit /etc/rc.local
=вывод команды и необходимые параметры=
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#Автозапуск агента ИПБ
/opt/MonitorSoftware/agent.sh
exit 0

Перезагрузите систему для уверенности в правильной настройки автозагрузки агента программы WinPower.

Запуск программы WinPower

Заходим обычным способом в систему Proxmox и вводим в консоли команды:

cd /opt/MonitorSoftware/
./monitor
=вывод команды=
Starting Manager:
Done

Мы увидим приветственное окно программы WinPower использущее Java.

Настройка программы WinPower

Выполним необходимый минимум настроек программы:

  • Изменим пароль администратора (по умолчанию Administrator),
  • Настроим smtp сервис отправки сообщений на почту,
  • Настроим отключение Proxmox при остатке заряда батареи меньше 40 %.

Вывод

В результате выполненных действий нам не страшны перебои с питанием и обо всех действиях мы будем получать уведомление на e-mail.

PROXMOX установка на Debian 8

Настроим лучшую свободную систему виртуализации Proxmox VE на Raid1 в операционной системе Debian 8. В качестве гипервизора система использует KVM и LXC, что позволяет виртуализировать все популярные операционные системы. Браузерная панель управления.

Вступление

Вышла новая 5 версия Proxmox и о ней я написал новую статью PROXMOX 5 установка и настройка. Принцип моего использования системой не поменялся. В новой статье вы узнаете некоторые нюансы c которыми я столкнулся при переходе на новую версию.

Первое что я стал изучать в Linux это была система виртуализации. По множественным рекомендациям администраторы Linux не советуют использовать все виды серверных служб на одной системе в виду сложности обслуживания и крайней нестабильности. В случае аппаратного выхода из строя компьютера придется устанавливать всё практически с нуля. Пользуясь системой виртуализации все можно восстановить очень быстро.

Основными моими требованиями было:

  • Простота установки,
  • Удобное управление,
  • Установка разных систем OC (Linux, Windows и тд.),
  • Удобная система архивирования,
  • Информирование на почту об ошибках системы,
  • Подключение ИБП с отключение системы при пропадании 220 вольт,
  • Проброс портов USB в виртуальную систему.

Все виды не свободных систем управления виртуализацией или всё что связанно с Microsoft я отбросил в сторону и искал только свободный вариант. Единственная система которая устроила меня по всем параметрам это была система Proxmox.

Система Proxmox не поддерживает установку из коробки на mdadm для использования программного raid1, хотя есть система zfs. Может эта файловая система и хороша но мне она пока не нужна.

Система Proxmox базируется на OC Debian. У разработчика есть инструкция по установке системы, которую мы возьмем за основу.

Проверка аппаратной поддержки виртуализации

Проверка поддержки виртуализации в процессоре выполняется командой:

egrep '(vmx|svm)' /proc/cpuinfo
=вывод команды=
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx tm2 ssse3 cx16 xtpr pdcm dca lahf_lm tpr_shadow dtherm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx tm2 ssse3 cx16 xtpr pdcm dca lahf_lm tpr_shadow dtherm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx tm2 ssse3 cx16 xtpr pdcm dca lahf_lm tpr_shadow dtherm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx tm2 ssse3 cx16 xtpr pdcm dca lahf_lm tpr_shadow dtherm

Если в выводе присутствует параметр svm (Secure Virtual Machines) — значит процессор с поддержкой аппаратной виртуализации от AMD, если vmx (Virtual Machine eXtension) — значит процессор Intel.

Если вывод пустой, то смотрите в bios на предмет включения виртуализации, в противном случае использовать Proxmox не получится.

Исходные параметры системы

  • proxmox — название машины
  • sevo44.loc — полное имя домена
  • 192.168.0.150 — ip системы с Proxmox
  • 192.168.0.106 — шлюз сети
  • 255.255.255.0 — маска сети
  • 2 жестких диска по 107,4 GB.

Установка Debian 8 на mdadm raid1

Скачиваем последнюю версию системы Debian можно на официальном сайте.

Установка до начала работы с дисками

Создание RAID1

Общая схема создания raid1 массивов состоит из нескольких шагов:

  • Создаем одинаковые разделы на дисках с типом «физический том для RAID»,
  • Объединяем два одинаковых раздела в необходимый раздел RAID1,
  • Форматируем наш RAID1 под нужный нам формат файловой системы.

Скрины сделаны на создание разделов только на одном из дисков на другом делаем по аналогии. Всё пространство диска не использовалось специально. Мы установим саму систему и позже решим как и где мы хотим хранить наши образы системы, бэкапы и другие данные. Раздел swap был специально не создан. Пропустите этот пункт. Мы создадим его позже.

В итоге у нас получилось:

  • Загрузочный раздел /boot с меткой «загрузочный» и размером 500 MB форматом ext2,
  • Корневой раздел / размером 50 GB форматом ext4.

Не указывайте раздел boot меньше 500 MB если не хотите проблем при первом обновлении системы Proxmox.

Завершение установки Debian 8

Настройка Debian 8

Установка текстового редактора mc

Установку выполним командой:

apt-get -y install mc

Настроим редактор mc по умолчанию командой:

select-editor
=вывод команды=
Select an editor. To change later, run 'select-editor'.
 1. /bin/nano <---- easiest
 2. /usr/bin/mcedit
 3. /usr/bin/vim.tiny
Choose 1-3 [1]: 2

Разрешение подключения под root в ssh

По умолчанию подключиться под root через ssh не получиться. Подключаться под обычным пользователем и потом переходить на права root мне не удобно и не вижу в этом смысла. Поправим конфигурационный файл введя команду:

mcedit /etc/ssh/sshd_config
=необходимые изменения=
# Сделаем разрешение подключаться под root
PermitRootLogin yes

Полное обновление системы с перезагрузкой

Выполним команду:

apt-get -y update && apt-get -y upgrade && reboot

Мы без вопросов системы:

  • Произведёт обновление индекса пакетов до последних изменениях в репозитории,
  • Выполним обновление всех пакетов системы,
  • Перезагрузимся.

Настройка статического IP адреса

Последнее что нам надо чтобы сразу подключаться к системе по ssh это назначит системе статический ip адрес.

Определим ip адрес системы введя команду:

ip addr
=вывод команды=
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group 
default 
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP 
group default qlen 1000
 link/ether 08:00:27:52:85:09 brd ff:ff:ff:ff:ff:ff
 inet 192.168.0.168/24 brd 192.168.0.255 scope global eth0
 valid_lft forever preferred_lft forever
 inet6 fe80::a00:27ff:fe52:8509/64 scope link 
 valid_lft forever preferred_lft forever

Мы видим что наш адрес inet 192.168.0.168/24 brd 192.168.0.255 scope global eth0

Подключится к система через ssh введя команду в консоли другого компьютера:

ssh root@192.168.0.168
=вывод команды=
root@192.168.0.168's password: 
Last login: Wed Dec 28 00:40:34 2016 from 192.168.0.3
root@proxmox:~#

При установке мы использовали получение ip адреса по DHCP сменим его на статический.

Отредактируем файл interfaces, который отвечает за сетевые настройки в Debian. Для того, чтобы назначить постоянный статический ip адрес, его нужно привести к следующему виду:

mcedit /etc/network/interfaces
=вывод команды с необходимыми изменениями=
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
# Запускать автоматически при загрузке системы
auto eth0 
# Интерфейс eth0 в диапазоне IPv4 со статическим адресом
iface eth0 inet static
# IP адрес
address 192.168.0.150
# Шлюз по умолчанию
gateway 192.168.0.106
# Маска сети
netmask 255.255.255.0

Сохраним и перезагрузимся командой:

reboot

Проверим после перезагрузки ip адрес:

ip addr
=часть вывода команды=
inet 192.168.0.150/24 brd 192.168.0.255 scope global eth0

Проверка работы интернета

Проверим интернет отправив 4 пакета на ya.ru.

ping -c 4 ya.ru
=вывод команды=
PING ya.ru (93.158.134.3) 56(84) bytes of data.
64 bytes from www.yandex.ru (93.158.134.3): icmp_seq=1 ttl=51 time=14.7 ms
64 bytes from www.yandex.ru (93.158.134.3): icmp_seq=2 ttl=51 time=13.8 ms
64 bytes from www.yandex.ru (93.158.134.3): icmp_seq=3 ttl=51 time=15.1 ms
64 bytes from www.yandex.ru (93.158.134.3): icmp_seq=4 ttl=51 time=14.2 ms
--- ya.ru ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3010ms
rtt min/avg/max/mdev = 13.842/14.471/15.142/0.514 ms

Всё прошло без потерь.

Установка загрузчика GRUB на оба жестких диска

Без этого мы не сможем загрузится со второго диска в случае отказа первого по причине отсутствия загрузочного раздела.

Установим grub на оба жестких диска. Для этого выполняем команду:

dpkg-reconfigure grub-pc
=вывод команды=
Installing for i386-pc platform. 
Установка завершена. Ошибок нет.
Installing for i386-pc platform.
Установка завершена. Ошибок нет.
Generating grub configuration file ...
Найден образ linux: /boot/vmlinuz-3.16.0-4-amd64
Найден образ initrd: /boot/initrd.img-3.16.0-4-amd64
завершено

На все вопросы даём дефолтные значения, в конце выбираете оба жестких диска для установки загрузчика.

Информация о разделах дисков в системе

df -h
=вывод команды=
Файловая система Размер Использовано Дост Использовано% Смонтировано в
/dev/md1 46G 965M 43G 3% /
udev 10M 0 10M 0% /dev
tmpfs 201M 4,4M 196M 3% /run
tmpfs 501M 0 501M 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 501M 0 501M 0% /sys/fs/cgroup
/dev/md0 461M 33M 405M 8% /boot

Всё хорошо.

Проверка работы массивов RAID1

cat /proc/mdstat
=вывод команды=
Personalities : [raid1] 
md1 : active raid1 sda2[0] sdb2[1]
 48795648 blocks super 1.2 [2/2] [UU]
 
md0 : active raid1 sda1[0] sdb1[1]
 487104 blocks super 1.2 [2/2] [UU]
 
unused devices:

Параметр “UU” говорит о том что всё в порядке.

Уже сейчас можно отключить один диск и система спокойно загрузится с другого. При подключении отключенного ранее диска raid не заработает так как для этого нужно произвести определенные манипуляции. Далее мы в статье настроим почту и в случае ошибки raid1 нам придет сообщение на необходимый e-mail.

В другой статье Вы можете узнать Как работать с raid 1 после отказа.

Создание раздела SWAP

При установке Debian мы отказались от создания swap раздела, так как по многим рекомендациям не советуют создавать raid 1 для раздела swap.

Наличие раздела swap важно и необходимо.

Проверим наличие swap раздела:

swapon -as

Если пусто, значит его нет.

Создадим файл для будущего swap раздела:

dd if=/dev/zero of=/swap bs=1024 count=4000000
=вывод команды=
4000000+0 записей получено
4000000+0 записей отправлено
скопировано 4096000000 байт (4,1 GB), 26,9641 c, 152 MB/c

Размер файла 4 GB, равен объему памяти на сервере. Выбирайте размер на свое усмотрение.

Форматируем файл в формат свопа:

mkswap /swap
=вывод команды=
Setting up swapspace version 1, size = 3999996 KiB
no label, UUID=7db57287-a7c3-4973-9f89-0be098a493ac

Подключаем файл к системе:

swapon /swap
=вывод команды=
swapon: /swap: insecure permissions 0644, 0600 suggested.

Проверяем результат работы:

swapon -as
=вывод команды=
Filename Type Size Used Priority
/swap file 3999996 0 -1

Сделаем чтобы swap раздел монтировался при загрузке. Для этого добавляем в fstab строку:

mcedit /etc/fstab
=необходимые дополнения=
# Подключим swap при загрузке
/swap swap swap defaults 0 0

В конце файла делаем переход на новую строку.

Сохраняем файл и перезагружаемся.

reboot

Проверяем:

swapon -as
=вывод команды=
Filename Type Size Used Priority
/swap file 3999996 0 -1

Все необходимые настройки произвели переходим к непосредственной установке Proxmox.

Установка Proxmox

За основу мы взяли инструкцию от разработчика исходя из неё и будем устанавливать.

Правка /etc/hosts

В нашем случае файл /etc/hosts выглядит так:

cat /etc/hosts
=вывод команды=
127.0.0.1 localhost
127.0.1.1 proxmox.sevo44.loc proxmox
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Приведем его к виду:

mcedit /etc/hosts
=вывод команды c необходимыми изменениями=
127.0.0.1 localhost.localdomain localhost
192.168.0.150 proxmox.sevo44.loc proxmox pvelocalhost
# The following lines are desirable for IPv6 capable hosts
#::1 localhost ip6-localhost ip6-loopback
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters

Добавление репозитория Proxmox

Добавим Proxmox репозиторий выполнив команду:

echo "deb http://download.proxmox.com/debian jessie pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list

Добавляем цифровую подпись Proxmox репозитория:

wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -

Обновим репозитории и систему выполнив команду:

apt-get update && apt-get dist-upgrade

Перезагрузим систему:

reboot

Установка необходимых пакетов Proxmox

Установка производиться командой:

apt-get install proxmox-ve ssh postfix ksm-control-daemon open-iscsi systemd-sysv

В процессе установке необходимо будет настроить Postfix.

Выберем параметры:

  • Интернет-сайт,
  • proxmox.sevo44.loc — укажем полное название машины.

Если нам в последствии надо будет изменить настройки Postfix то выполнить это можно командой:

dpkg-reconfigure postfix

Перезагружаем систему, новое ядро Proxmox VE ​​будет автоматически выбрано в меню загрузчика GRUB.

reboot

Отправка почты на внешний e-mail адрес

Отправим тестовое письмо на внешнюю почту в котором отправим данные файла /etc/fstab:

cat /etc/fstab | mail -s "Test title" info@sevo44.ru

Видим что письмо пришло.

Настроим чтобы эти письма отправленные root пересылались на нужную нам внешнюю e-mail почту.

Открываем файл /etc/aliases для правки выполнив команду:

mcedit /etc/aliases
=необходимые изменения=
# Правим вписывая свой адрес
root: local,info@sevo44.ru

В данном виде почта будет приходить как в локальный файл так и на почту. Можете выбрать что то одно.

Применим изменения выполнив команду:

newaliases

Можно еще раз отправить тестовое письмо и убедиться что оно пришло.

Обязательно проверьте спам почты. Если в спаме нет то смотрите логи отправки почты. Всегда использую почтовый сервис yandex.ru и проблем с ними нет.

Удаление пакета ОС-Prober

apt-get remove os-prober

Удаление Debian kernel

apt-get remove linux-image-amd64 linux-image-3.16.0-4-amd64 linux-base

Проверим конфигурацию Grub командой:

update-grub

Ускоряем работу дисков ext4

Для проверки работы дисковой подсистем в Proxmox есть утилита pveperf которую мы будем использовать.

Посмотрим все смонтированые разделы в системе:

df -h
= вывод команды =
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
udev 10M 0 10M 0% /dev
tmpfs 1,6G 14M 1,6G 1% /run
/dev/md1 230G 57G 162G 26% /
tmpfs 3,9G 34M 3,9G 1% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup
/dev/sde1 917G 651G 220G 75% /var/lib/vz/backup
/dev/md0 91M 47M 40M 54% /boot
/dev/md2 913G 758G 110G 88% /var/lib/vz/images
/dev/md3 921G 861G 14G 99% /mnt/md3
/dev/fuse 30M 20K 30M 1% /etc/pve
tmpfs 798M 4,0K 798M 1% /run/user/115
tmpfs 798M 0 798M 0% /run/user/0

Посмотрим информацию о необходимом разделе:

pveperf /var/lib/vz/images
= вывод команды =
CPU BOGOMIPS: 25535.20
REGEX/SECOND: 578497
HD SIZE: 912.93 GB (/dev/md2)
BUFFERED READS: 145.76 MB/sec
AVERAGE SEEK TIME: 22.12 ms
FSYNCS/SECOND: 65.94
DNS EXT: 60.41 ms
DNS INT: 2.62 ms (sevo44.loc)

Из вывода видно, что параметр FSYNCS маловат и надо его улучшить.

Откроем необходимый файл и сделаем изменения:

cat /etc/fstab
= вывод части команды с необходимыми изменениями =
/dev/md2 /var/lib/vz/images ext4 relatime,barrier=0 0 1

После перезагрузки системы Proxmox проверим результат:

pveperf /var/lib/vz/images
= вывод команды =
CPU BOGOMIPS: 25535.20
REGEX/SECOND: 578497
HD SIZE: 912.93 GB (/dev/md2)
BUFFERED READS: 145.76 MB/sec
AVERAGE SEEK TIME: 22.12 ms
FSYNCS/SECOND: 1328.94
DNS EXT: 60.41 ms
DNS INT: 2.62 ms (sevo44.loc)

Вот так поигравшись с настройками файловой системы ext4 мы значительно увеличили производительность дисковой системы. Варианты настройки могут быть разные и тут все зависит от ваших требований к данным на дисках.

Панель управления Proxmox

Теперь мы можем зайти по адресу https://192.168.0.150:8006 и увидеть после авторизации панель управления Proxmox.

Сообщение о том что не подключены платные репозитории можно конечно убрать, но после обновления системы оно появиться снова.

Давайте уважать разработчиков, раз они хотят чтобы мы видели это сообщение в свободной системе, то пусть так и будет.