Установка PROXMOX 4.3 на Soft-RAID 10 GPT

Добрий день, друзі. Сьогодні я б хотів поділитися своїм особистим досвідом по налаштуванню Proxmox на soft-Raid 10.

маємо:
  • Сервер HP ProLiant DL120 G6 (10 GB ОЗУ)
  • 4x1000Gb SATA вінчестера – без фізичного RAID контролера на борту
  • Флешка з PROXMOX 4.3 (про це нижче)
Що хочемо:
  • Отримати інсталяцію PROXMOX 4.3 встановлену повністю на S-RAID 10 GPT, що б при відмові будь-якого диска система продовжувала роботу.
  • Отримати повідомлення про відмову збійного диска на пошту.
Що робимо – загальний план дій:
  • Встановлюємо PROXMOX 4.3
  • Піднімаємо і тестуємо RAID10
  • Налаштовуємо повідомлення на пошту
Під катом поетапне проходження квесту.

А тепер поетапно.

Перший момент:
Підключив флешку – якщо коротко — не знайдений інсталяційний диск. Не можу смонтироваться.

image

Не став розбиратися, що та як, та чому. Записав образ на CD-диск і підключив USB CDROM (благо він був поруч)

Другий момент:
Підключив до сервера CDROM і клавіатуру в передні порти сервера (їх у нього два) – перше, що побачив, на першому вітальному скріні proxmox не можна нічого натиснути без мишки. Тобто прееключение Tab-го по кнопок управління не відбувається. Т. к. сервер був в стійці і залазити ззаду було проблематично, почав по черзі встромляти клаву і мишку. Мишкою клацаю «далі», клавою — вводжу дані.

Установка складається з декількох кроків:

  • Погодиться з їхніми вимогами
  • Вибрати вінчестер, куди система встановиться.
  • Вибрати країну і часовий пояс
  • Вказати ім'я сервера, адресацію
  • І власне трохи почекати розгортки образу на сервер.
PROXMOX встановлений на перший диск, який він обізвав як /dev/sda. Підключаюся зі свого ноута на адресу, який вказав при установці:

root@pve1:~#ssh root@192.168.1.3

Оновлюю систему:

root@pve1:~#apt-get update 

На виході бачу
Ign http://ftp.debian.org jessie InRelease
Get:1 http://ftp.debian.org jessie Release.gpg [2,373 B]
Get:2 http://security.debian.org jessie/updates InRelease [63.1 kB]
Get:3 http://ftp.debian.org jessie Release [148 kB] 
Get:4 https://enterprise.proxmox.com jessie InRelease [401 B] 
Ign https://enterprise.proxmox.com jessie InRelease 
Get:5 https://enterprise.proxmox.com jessie Release.gpg [401 B]
Ign https://enterprise.proxmox.com jessie Release.gpg 
Get:6 http://ftp.debian.org jessie/main amd64 Packages [6,787 kB] 
Get:7 https://enterprise.proxmox.com jessie Release [401 B]
Ign https://enterprise.proxmox.com jessie Release 
Get:8 http://security.debian.org jessie/updates/main amd64 Packages [313 kB] 
Get:9 https://enterprise.proxmox.com jessie/pve-enterprise amd64 Packages [401 B]
Get:10 https://enterprise.proxmox.com jessie/pve-enterprise Translation-en_US [401 B] 
Get:11 https://enterprise.proxmox.com jessie/pve-enterprise Translation-en [401 B] 
Get:12 https://enterprise.proxmox.com jessie/pve-enterprise amd64 Packages [401 B] 
Get:13 https://enterprise.proxmox.com jessie/pve-enterprise Translation-en_US [401 B] 
Get:14 https://enterprise.proxmox.com jessie/pve-enterprise Translation-en [401 B] 
Get:15 https://enterprise.proxmox.com jessie/pve-enterprise amd64 Packages [401 B] 
Get:16 https://enterprise.proxmox.com jessie/pve-enterprise Translation-en_US [401 B] 
Get:17 https://enterprise.proxmox.com jessie/pve-enterprise Translation-en [401 B] 
Get:18 https://enterprise.proxmox.com jessie/pve-enterprise amd64 Packages [401 B] 
Get:19 https://enterprise.proxmox.com jessie/pve-enterprise Translation-en_US [401 B] 
Get:20 http://security.debian.org jessie/updates/contrib amd64 Packages [2,506 B] 
Get:21 https://enterprise.proxmox.com jessie/pve-enterprise Translation-en [401 B] 
Get:22 https://enterprise.proxmox.com jessie/pve-enterprise amd64 Packages [401 B] 
Err https://enterprise.proxmox.com jessie/pve-enterprise amd64 Packages 
HttpError401
Get:23 https://enterprise.proxmox.com jessie/pve-enterprise Translation-en_US [401 B] 
Get:24 http://security.debian.org jessie/updates/contrib Translation-en [1,211 B] 
Ign https://enterprise.proxmox.com jessie/pve-enterprise Translation-en_US 
Get:25 https://enterprise.proxmox.com jessie/pve-enterprise Translation-en [401 B] 
Ign https://enterprise.proxmox.com jessie/pve-enterprise Translation-en 
Get:26 http://security.debian.org jessie/updates/main Translation-en [169 kB] 
Get:27 http://ftp.debian.org jessie/contrib amd64 Packages [50.2 kB] 
Get:28 http://ftp.debian.org jessie/contrib Translation-en [38.5 kB] 
Get:29 http://ftp.debian.org jessie/main Translation-en [4,583 kB] 
Fetched 12.2 MB in 15s (778 kB/s) 
W: Failed to fetch https://enterprise.proxmox.com/debian/dists/jessie/pve-enterprise/binary-amd64/Packages HttpError401
E: Some index files failed to download. They have been ignored, or old ones used instead.


Це не справа. Купувати поки ліцензію на підтримку не планую. Міняю офіційну підписку на їх «безкоштовний» репозиторій.

root@pve1:~#nano /etc/apt/sources.list.d/pve-enterprise.list

Там бачу:

deb https://enterprise.proxmox.com/debian jessie pve-enterprise

Міняю на:

deb http://download.proxmox.com/debian jessie pve-no-subscription

І знову обновлююся і ставлю обновки системи:

root@pve1:~#apt-get update && apt-get upgrade

Тепер все оновилося без запинки і система в новому стані. Ставлю пакети для роботи з рейдом:

root@pve1:~#apt-get install -y mdadm initramfs-tools parted

Тепер визначимо точний розмір першого диска, він стане нам у пригоді в подальшому:

root@pve1:~#parted /dev/sda print

Model: ATA MB1000EBNCF (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number Start End Size File system Name Flags
1 1049kB 10.5 MB 9437kB primary bios_grub
2 10.5 MB 1000MB 990MB ext4 primary
3 1000MB 1000GB 999GB primary

Бачимо що рівно 1000GB – запам'ятаємо. Розмічаємо інші розділи під наш масив. Першим ділом очищаємо таблицю розділів на трьох порожніх дисках і розмічаємо диски під GPT:

root@pve1:~#dd if=/dev/zero of=/dev/sb[bcd] bs=512 count=1

1+0 records in
1+0 records out
512 bytes (512 B) copied, 7.8537 e-05 s, 6.5 MB/s

Розмічаємо:

Другий:

root@pve1:~#parted /dev/sdb mklabel gpt

Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes 
Information: You may need to update /etc/fstab.

Третій:

root@pve1:~#parted /dev/sdc mklabel gpt

Warning: The existing disk label on /dev/sdc will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes 
Information: You may need to update /etc/fstab.

Четвертий:

root@pve1:~#parted /dev/sdd mklabel gpt

Warning: The existing disk label on /dev/sdd will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes 
Information: You may need to update /etc/fstab.

Тепер відтворюємо розділи так само як на оригінальному першому диску:

1.
root@pve1:~#parted /dev/sdb mkpart primary 1M 10M

Information: You may need to update /etc/fstab.

2.
root@pve1:~#parted /dev/sdb set 1 bios_grub on

Information: You may need to update /etc/fstab.

3.
root@pve1:~#parted /dev/sdb mkpart primary 10М 1G

Information: You may need to update /etc/fstab.

Ось тут нам стане в нагоді знання розміру першого оригінального диска.

4.
root@pve1:~#parted /dev/sdb mkpart primary 1G 1000GB

Information: You may need to update /etc/fstab.

Всі ці чотири кроки робимо для всіх наших дисків: sdb, sdc, sdd. Ось що у мене вийшло:

Це оригінальний:

root@pve1:~#parted /dev/sda print

Model: ATA MB1000EBNCF (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number Start End Size File system Name Flags
1 17.4 kB 1049kB 1031kB bios_grub
2 1049kB 134MB 133MB fat32 boot, esp
3 134MB 1000GB 1000GB lvm

А це другий, третій і четвертий (з різницею в буквою диска).

root@pve1:~#parted /dev/sdb print

Model: ATA MB1000EBNCF (scsi)
Disk /dev/sdd: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number Start End Size File system Name Flags
1 1049kB 10.5 MB 9437kB primary bios_grub
2 10.5 MB 1000MB 990MB primary
3 1000MB 1000GB 999GB primary

Далі треба уточнити – якщо ви вперше граєте з цим кейсом і до цього на сервері, а головне на вінчестерах, не було навіть поняття RAID – можна пропустити цей пункт. Якщо ж щось не вийшло, значить RAID вже був встановлений і на вінчестерах є суперблоки які потрібно видаляти.

Перевірити так:

root@pve1:~#mdadm --misc --examine /dev/sda

/dev/sda:
MBR Magic : aa55
Partition[0] : 1953525167 sectors at 1 (type ee)

Перевірити потрібно всі чотири диска.

Тепер налаштуємо mdadm

Створюємо конфіг на основі прикладу:

root@pve1:~#cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.orig

Опустошаем:

root@pve1:~#echo "" > /etc/mdadm/mdadm.conf

Відкриваємо:

root@pve1:~#nano /etc/mdadm/mdadm.conf

Вводимо і зберігаємо:

CREATE owner=root group=disk mode=0660 auto=yes
MAILADDR user@mail.domain

Пошту поки залишимо як є, потім до неї ще повернемося.

Тепер піднімаємо наші RAID в режимі деградації (пропускаючи перший робочий вінчестер).

  • /dev/md0 – у мене буде /boot
  • /dev/md1 – VML розділ з системою
root@pve1:~#mdadm --create /dev/md0 --metadata=0.90 --level=10 --chunk=2048 --raid-devices=4 missing /dev/sd[bcd]2

mdadm: array /dev/md0 started.

І другий:

root@pve1:~#mdadm --create /dev/md1 --metadata=0.90 --level=10 --chunk=2048 --raid-devices=4 missing /dev/sd[bcd]3

mdadm: array /dev/md1 started.

Тут треба пояснити по ключам:

  • --level=10 – каже що наш RAID буде саме 10
  • --chunk=2048 – розмір кластера на розділі
  • --raid-devices=4 – в рейді братимуть участь чотири пристрої
  • missing /dev/sd[bcd]2 – перший робочий розділ поки помічаємо відсутнім, інші три додаємо в рейд
Зберігаємо конфігурацію:

root@pve1:~#mdadm --detail --scan >> /etc/mdadm/mdadm.conf

Перевіряємо зміст:

root@pve1:~# cat /etc/mdadm/mdadm.conf

CREATE owner=root group=disk mode=0660 auto=yes
MAILADDR user@mail.domain
ARRAY /dev/md0 metadata=0.90 UUID=4df20dfa:4480524a:f7703943:85f444d5
ARRAY /dev/md1 metadata=0.90 UUID=432e3654:e288eae2:f7703943:85f444d5

Тепер нам потрібно діючий LVM масив перенести на три порожніх диска. Для початку створюємо в рейді md1 — LVM-розділ:

root@pve1:~#pvcreate /dev/md1 -ff

Physical volume "/dev/md1" successfully created

І додаємо його в групу pve:

root@pve1:~#vgextend pve /dev/md1

Volume group "pve" successfully extended

Тепер переносимо дані з оригінального LVM на новостворений:

root@pve1:~#pvmove /dev/sda3 /dev/md1

/dev/sda3: Moved: 0.0%

Процес довгий. У мене зайняв близько 10 годин. Цікаво, що запустив я його за звичкою будучи підключеним по SSH і на 1,3% зрозумів що сидіти стільки часу з ноутом на роботі як мінімум не зручно. Скасував операцію через CTRL+C, підійшов до фізичного сервера і спробував запустити команду перенесення там, але розумна залізяка відписалася, що процес вже йде і команда вдруге виконуватися не буде, і почала малювати відсотки перенесення на реальному екрані. Як мінімум спасибі :)

Процес завершився два рази написавши 100%. Прибираємо з LVM перший диск:

root@pve1:~#vgreduce pve /dev/sda3

Removed "/dev/sda3" from volume group "pve"

Переносимо завантажувальний /boot в наш новий рейд /md0, але для початку форматуємо і монтуємо сам рейд.

root@pve1:~#mkfs.ext4 /dev/md0

mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 482304 4k blocks and 120720 inodes
Filesystem UUID: 6b75c86a-0501-447c-8ef5-386224e48538
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912

Allocating group tables: done 
Writing inode tables: done 
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

Створюємо директорію і монтуємо туди рейд:

root@pve1:~#mkdir /mnt/md0

root@pve1:~#mount /dev/md0 /mnt/md0

Копіюємо вміст живого /boot:

root@pve1:~#cp -ax /boot/* /mnt/md0

Отмонтовуємо рейд і видаляємо тимчасову директорію:

root@pve1:~#umount /mnt/md0

root@pve1:~#rmdir /mnt/md0

Визначимо UUID розділу рейду, де зберігається /boot – це потрібно, що б правильно записати його в таблицю /etc/fstab:

root@pve1:~#blkid |grep md0

/dev/md0: UUID=«6b75c86a-0501-447c-8ef5-386224e48538» TYPE=«ext4»
Відкриємо таблицю і пропишемо в її кінець дані завантаження /boot:

root@pve1:~#nano /etc/fstab

Прописуємо і зберігаємо:

UUID="6b75c86a-0501-447c-8ef5-386224e48538" /boot ext4 defaults 0 1

Тепер монтуємо /boot:

root@pve1:~#mount /boot

Дозволимо ОС завантажуватися, навіть якщо стан BOOT_DEGRADED (тобто рейд деградирован по причині виходу з ладу дисків):

root@pve1:~#echo "BOOT_DEGRADED=true" > /etc/initramfs-tools/conf.d/mdadm

Прописуємо завантаження ramfs:

root@pve1:~#mkinitramfs -o /boot/initrd.img-`uname -r`

Графічний режим завантажувача відключаємо:

root@pve1:~#echo "GRUB_TERMINAL=console" >> /etc/default/grub

Инсталируем завантажувач на всі три диска:

root@pve1:~#grub-install /dev/sdb

Installing for i386-pc platform.
Installation finished. No error reported.

root@pve1:~#grub-install /dev/sdc>

Installing for i386-pc platform.
Installation finished. No error reported.

root@pve1:~#grub-install /dev/sdd

Installing for i386-pc platform.
Installation finished. No error reported.

Тепер дуже важливий момент. Ми беремо за основу другий диск /dev/sdb, на якому система, завантажувач grub і і переносимо все це на перший диск /dev/sda, що б надалі зробити його частиною нашого рейду. Для цього розглядаємо перший диск як чистий і розмічаємо так само, як інші на початку цієї статті

Занулим і пометим як GPT:

root@pve1:~#dd if=/dev/zero of=/dev/sda bs=512 count=1

1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0157829 s, 32.4 kB/s

root@pve1:~#parted /dev/sda mklabel gpt

Information: You may need to update /etc/fstab.

Розбиваємо його по розділам в точності як інші три:

root@pve1:~#parted /dev/sda mkpart primary 1M 10M

Information: You may need to update /etc/fstab.

root@pve1:~#parted /dev/sda set 1 bios_grub on

Information: You may need to update /etc/fstab.

root@pve1:~#parted /dev/sda mkpart primary 10М 1G

Information: You may need to update /etc/fstab.

Тут нам знову знадобитися точне знання розміру диска. Нагадаю, отримали ми його командою, яку у цьому випадку треба застосовувати до диску /dev/sdb:

root@pve1:~#parted /dev/sdb print

Так як диски у нас однакові, то розмір не змінився – 1000Gb. Розмічаємо основний розділ:

root@pve1:~#parted /dev/sda mkpart primary 1G 1000Gb

Information: You may need to update /etc/fstab.

Повинно вийде так:

root@pve1:~#parted /dev/sda print

Model: ATA MB1000EBNCF (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number Start End Size File system Name Flags
1 1049kB 10.5 MB 9437kB fat32 primary bios_grub
2 10.5 MB 1000MB 990MB primary
3 1000MB 1000GB 999GB primary

Залишилося додати цей диск у загальний масив. Другий розділ відповідно до /md0, а третій в /md1:

root@pve1:~#mdadm --add /dev/md0 /dev/sda2

mdadm: added /dev/sda2

root@pve1:~#mdadm --add /dev/md1 /dev/sda3

mdadm: added /dev/sda3

Чекаємо синхронізації…

root@pve1:~#watch cat /proc/mdstat

Дана команда в реальному часі показує процес синхронізації:

Every 2.0 s: cat /proc/mdstat Fri Nov 11 10:09:18 2016

Personalities : [raid10]
md1 : active raid10 sda3[4] sdd3[3] sdc3[2] sdb3[1]
1951567872 blocks 2048K chunks 2 near-copies [4/3] [_UUU]
[>....................] recovery = 0.5% (5080064/975783936) finish=284.8 min speed=56796K/sec
bitmap: 15/15 pages [60KB], 65536KB chunk

md0 : active raid10 sda2[0] sdd2[3] sdc2[2] sdb2[1]
1929216 blocks 2048K chunks 2 near-copies [4/4] [UUUU]

І якщо перший рейд з /boot синхронізувався відразу, то для синхронізації другого знадобилося терпіння (в районі 5 годин).

Залишилося встановити завантажувач на доданий диск (тут потрібно розуміти, що робити це потрібно тільки після того, як диски повністю синхронізувалися).

root@pve1:~#dpkg-reconfigure grub-pc

Пару раз натискаємо Enter нічого не змінюючи і на останньому кроці відзначаємо галкамі всі 4 диска
md0/md1 не чіпаємо!

Залишилося перезавантажити систему і перевірити, що все в порядку:

root@pve1:~#shutdown –r now

Система завантажилася нормально (я навіть кілька разів міняв в BIOS порядок завантаження гвинтів — вантажиться однаково правильно).

Перевіряємо масиви:

<source lang="vim">root@pve1:~#cat /proc/mdstat

Personalities : [raid10] 
md1 : active raid10 sda3[0] sdd3[3] sdc3[2] sdb3[1]
1951567872 blocks 2048K chunks 2 near-copies [4/4] [UUUU]
bitmap: 2/15 pages [8KB], 65536KB chunk

md0 : active raid10 sda2[0] sdd2[3] sdc2[2] sdb2[1]
1929216 blocks 2048K chunks 2 near-copies [4/4] [UUUU]

За чотири підкови у кожному рейді говорять про те, що всі чотири диски в роботі. Дивимося інформацію по масивам (на прикладі першого, точніше нульового).

root@pve1:~#mdadm --detail /dev/md0

/dev/md0:
Версія : 0.90
Creation Time : Thu Nov 10 15:12:21 2016
Raid Level : raid10
Array Size : 1929216 (1884.32 MiB 1975.52 MB)
Used Dev Size : 964608 (942.16 MiB 987.76 MB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Fri Nov 11 10:07:47 2016
State : active 
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0

Layout : near=2
Chunk Size : 2048K

UUID : 4df20dfa:4480524a:f7703943:85f444d5 (local to host pve1)
Events : 0.27

Major Number Minor RaidDevice State
0 8 2 0 active sync set-A /dev/sda2
1 8 18 1 active sync set-B /dev/sdb2
2 8 34 2 active sync set-A /dev/sdc2
3 8 50 3 active sync set-B /dev/sdd2

Бачимо, що масив типу RAID10, всі диски на місці, активні і синхронізовані.

Тепер можна було б погратися з відключенням дисків, зміну диска-завантажувача в BIOS, але перед цим давайте налаштуємо повідомлення адміністратора при збоях у роботі дисків, а значить і самого рейду. Без попередження рейд буде помирати повільно і болісно, а ніхто не буде про це знати.

У Proxmox за замовчуванням вже стоїть postfix, видаляти його я не став, хоч і свідомо розумію що інші MTA було б простіше налаштувати.

Ставимо SASL бібліотеку (мені вона потрібна, що б працювати з нашим зовнішнім поштовим сервером):

root@pve1:/etc#apt-get install libsasl2-modules

Створюємо файл з даними від яких будемо авторизовуватись на нашому віддаленому сервері:

root@pve1:~#touch /etc/postfix/sasl_passwd

Там прописуємо рядок:

[mail.domain.ru] pve1@domain.ru:password

Тепер створюємо транспортний файл:

root@pve1:~#touch /etc/postfix/transport

Туди пишемо:

domain.ru smtp:[mail.domain.ru]

Створюємо generic_map:

root@pve1:~#touch /etc/postfix/generic

Тут пишемо (позначаємо від кого буде відправлятися пошта):

root pve1@domain.ru

Створюємо sender_relay (по суті, маршрут до зовнішнього сервера):

root@pve1:~#touch /etc/postfix/sender_relay

І пишемо туди:

pve1@domain.ru smtp.domain.ru

Хешируем файли:

root@pve1:~#postmap transport

root@pve1:~#postmap sasl_passwd

root@pve1:~#postmap geniric

root@pve1:~#postmap sender_relay

У файлі /etc/postfix/main.cf у мене вийшла ось така робоча конфігурація:

main.cf# See /usr/share/postfix/main.cf.dist for a commented, more complete version

myhostname=domain.ru

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate «delayed mail» warnings
#delay_warning_time = 4h

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8,192.168.1.0/24
inet_interfaces = loopback-only
recipient_delimiter = +

smtp_tls_loglevel = 1
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
smtp_use_tls = no
tls_random_source = dev:/dev/urandom

## SASL Settings
smtpd_sasl_auth_enable = no
smtp_sasl_auth_enable = yes
smtpd_use_pw_server=yes
enable_server_options=yes
smtpd_pw_server_security_options=plain, login
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sender_dependent_authentification = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
smtpd_sasl_local_domain = $myhostname
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtpd_sasl_application_name = smtpd
smtp_always_send_ehlo = yes
relayhost =
transport_maps = hash:/etc/postfix/transport
smtp_generic_maps = hash:/etc/postfix/generic
disable_dns_lookups = yes

Перезавантажуємо postfix:

root@pve1:~#/etc/init.d/postfix restart

Тепер треба повернутися в файл налаштувань рейду і трохи його виправити. Вказуємо кому отримувати листи щастя і від кого вони будуть приходити.

root@pve1:~#nano /etc/dmadm/mdadm.conf

У мене ось так:

CREATE owner=root group=disk mode=0660 auto=yes
MAILADDR info@domain.ru
MAILFROM pve1@dpmain.ru

ARRAY /dev/md0 metadata=0.90 UUID=4df20dfa:4480524a:f7703943:85f444d5
ARRAY /dev/md1 metadata=0.90 UUID=432e3654:e288eae2:f7703943:85f444d5

Перезапускаємо mdadm, що б перечитати налаштування:

root@pve1:~#/etc/init.d/mdadm restart

Перевіряємо через консоль тестування рейду і відправку листа:

root@pve1:~#mdadm --monitor --scan -1 --test --oneshot

У мене прийшло два листи з інформацією по обом створеним мною рейдів. Залишилося додати завдання тестування у крон і прибрати ключ –test. Щоб листи приходили тільки тоді, коли щось сталося:

root@pve1:~#crontab -e

Додаємо завдання (не забудьте після рядка натиснути на Enter і перевести курсор вниз, що б з'явилася порожній рядок):

0 5 * * * mdadm --monitor --scan -1 –oneshot

Щоранку о 5 ранку буде проводиться тестування і якщо виникнуть проблеми, відбудеться відправка пошти.

На цьому все. Можливо перемудрував з конфіг postfix – поки намагався добитися нормальної відправки через наш зовнішній сервер, багато чого надобавлял. Буду вдячний, якщо поправите (спростіть).

У наступній статті я хочу поділитися досвідом переїзду віртуальних машин з нашого гіпервізора Esxi-6 на цей новий Proxmox. Думаю буде цікаво.

UPD.
Варто окремо скасувати момент з фізичним місцем на розділ /dev/data – це основний розділ створений як LVM-Thin
Коли ставилося Proxmox, він автоматично розмістив /dev/sda з тим урахуванням, що на /root розділ де зберігається система, ISO, дампи і темплеи контейнерів, він виділив 10% ємності від розділу, а саме 100Gb. На останньому місці він створив VLM-Thin розділ, який по суті нікуди не монтується (це ще одна тонкість версії >4.2 після перекладу дисків GPT). І як ви розумієте цей розділ став розміром 900Gb. Коли ми підняли RAID10 з 4х дисків по 1Tb – ми отримали ємність (з урахуванням резерву RAID1+0) – 2Tb
Але коли копіювали VLM в рейд – копіювали його як контейнер, з його розміром у 900Gb.

При першому заході в адмінку Proxmox уважний глядач може помітити, що тикаючи на розділ local-lvm(pve1) – ми і спостерігаємо ці з копійками 800Gb

Так от що б розширити VLM-Thin на весь розмір в 1,9 TB нам потрібно виконати одну команду:
lvextend /dev/pve/data -l +100%FREE

Після цього систему не потрібно навіть перезапускати.
Не потрібно робити resize2fs – і це скоріше навіть неможливо, тому як система почне лаятися на
root@pve1:~# resize2fs /dev/mapper/pve-data
resize2fs 1.42.12 (29-Aug-2014)
resize2fs: MMP: invalid magic number while trying to open /dev/mapper/pve-data
Couldn't find valid filesystem superblock. 

І правильно почне – цей розділ у нас не підмонтований через fstab

Загалом поки я намагався зрозуміти, як розширити диск і читав форум Proxmox – система тим часом вже у всю показувала новий розмір, як у таблиці, так і на шкалі.
image
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.