Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
proxmox:proxmox_storage_rebuild [2020/06/02 08:44] – [HDD] admin | proxmox:proxmox_storage_rebuild [2020/06/02 09:44] (current) – [HDD] admin | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Было ====== | ||
+ | Диски HDD разбиты одиаково на три партиции (EFI, boot, data). \\ | ||
+ | Разделы data - в зеркальном массиве **mdadm**. На нем лежит два lvm - корень системы и lvm с данными под ZFS. \\ | ||
+ | Диски SSD - по одному разделу, | ||
+ | Зеркальные массивы mdadm на 2-х дисках HDD и 2-х SSD. \\ | ||
+ | На массивах - LVM. На LVM - ZFS. | ||
+ | |||
+ | ===== диски ===== | ||
+ | sda, sdb - HDD \\ | ||
+ | sdc, sdd - SSD | ||
+ | ===== mdsdtat ===== | ||
+ | < | ||
+ | Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] | ||
+ | md1 : active raid1 sda3[0] sdb3[1] | ||
+ | 1953250304 blocks [2/2] [UU] | ||
+ | bitmap: 7/15 pages [28KB], 65536KB chunk | ||
+ | |||
+ | md2 : active raid1 sdd1[0] sdc1[1] | ||
+ | 97683584 blocks [2/2] [UU] | ||
+ | | ||
+ | unused devices: < | ||
+ | |||
+ | ===== pvdisplay ===== | ||
+ | < | ||
+ | --- Physical volume --- | ||
+ | PV Name / | ||
+ | VG Name pve | ||
+ | PV Size < | ||
+ | Allocatable | ||
+ | PE Size 4.00 MiB | ||
+ | Total PE 476867 | ||
+ | Free PE 0 | ||
+ | Allocated PE 476867 | ||
+ | PV UUID | ||
+ | |||
+ | --- Physical volume --- | ||
+ | PV Name / | ||
+ | VG Name pve | ||
+ | PV Size < | ||
+ | Allocatable | ||
+ | PE Size 4.00 MiB | ||
+ | Total PE 23848 | ||
+ | Free PE 0 | ||
+ | Allocated PE 23848 | ||
+ | PV UUID | ||
+ | | ||
+ | ===== lvdisplay -m ===== | ||
+ | < | ||
+ | LV Path / | ||
+ | LV Name swap | ||
+ | VG Name pve | ||
+ | LV UUID dGxWuM-iYbO-QHLU-SILo-LVJa-2NMX-ZWf2fe | ||
+ | LV Write Access | ||
+ | LV Creation host, time proxmox, 2018-10-24 22:47:17 +0300 | ||
+ | LV Status | ||
+ | # open 0 | ||
+ | LV Size 32.00 GiB | ||
+ | Current LE 8192 | ||
+ | Segments | ||
+ | Allocation | ||
+ | Read ahead sectors | ||
+ | - currently set to 256 | ||
+ | Block device | ||
+ | |||
+ | --- Segments --- | ||
+ | Logical extents 0 to 8191: | ||
+ | Type linear | ||
+ | Physical volume | ||
+ | Physical extents | ||
+ | |||
+ | |||
+ | --- Logical volume --- | ||
+ | LV Path / | ||
+ | LV Name root | ||
+ | VG Name pve | ||
+ | LV UUID a7G2ko-sOhu-iM4f-kYQb-2Y8M-u9J2-dlLEQX | ||
+ | LV Write Access | ||
+ | LV Creation host, time proxmox, 2018-10-24 22:47:17 +0300 | ||
+ | LV Status | ||
+ | # open 1 | ||
+ | LV Size 16.00 GiB | ||
+ | Current LE 4096 | ||
+ | Segments | ||
+ | Allocation | ||
+ | Read ahead sectors | ||
+ | - currently set to 256 | ||
+ | Block device | ||
+ | |||
+ | --- Segments --- | ||
+ | Logical extents 0 to 4095: | ||
+ | Type linear | ||
+ | Physical volume | ||
+ | Physical extents | ||
+ | |||
+ | |||
+ | --- Logical volume --- | ||
+ | LV Path / | ||
+ | LV Name swap-ssd | ||
+ | VG Name pve | ||
+ | LV UUID oS0M42-tXl0-0Lal-SJva-6ejX-kucf-xyfuC0 | ||
+ | LV Write Access | ||
+ | LV Creation host, time proxmox, 2019-02-16 01:00:38 +0300 | ||
+ | LV Status | ||
+ | # open 2 | ||
+ | LV Size 32.00 GiB | ||
+ | Current LE 8192 | ||
+ | Segments | ||
+ | Allocation | ||
+ | Read ahead sectors | ||
+ | - currently set to 256 | ||
+ | Block device | ||
+ | |||
+ | --- Segments --- | ||
+ | Logical extents 0 to 8191: | ||
+ | Type linear | ||
+ | Physical volume | ||
+ | Physical extents | ||
+ | |||
+ | |||
+ | --- Logical volume --- | ||
+ | LV Path / | ||
+ | LV Name data-zfs-lvm | ||
+ | VG Name pve | ||
+ | LV UUID 0MBZHE-D1q2-A4Bd-VZPy-RUgb-l8es-erxcyy | ||
+ | LV Write Access | ||
+ | LV Creation host, time proxmox, 2019-08-14 13:14:39 +0300 | ||
+ | LV Status | ||
+ | # open 1 | ||
+ | LV Size 1.77 TiB | ||
+ | Current LE | ||
+ | Segments | ||
+ | Allocation | ||
+ | Read ahead sectors | ||
+ | - currently set to 256 | ||
+ | Block device | ||
+ | |||
+ | --- Segments --- | ||
+ | Logical extents 0 to 464578: | ||
+ | Type linear | ||
+ | Physical volume | ||
+ | Physical extents | ||
+ | |||
+ | |||
+ | --- Logical volume --- | ||
+ | LV Path / | ||
+ | LV Name zfs-zil | ||
+ | VG Name pve | ||
+ | LV UUID kOW2k0-MhrC-97Fp-6kVf-qkdl-Jn35-3vXC6h | ||
+ | LV Write Access | ||
+ | LV Creation host, time proxmox, 2019-08-15 11:36:09 +0300 | ||
+ | LV Status | ||
+ | # open 1 | ||
+ | LV Size 8.00 GiB | ||
+ | Current LE 2048 | ||
+ | Segments | ||
+ | Allocation | ||
+ | Read ahead sectors | ||
+ | - currently set to 256 | ||
+ | Block device | ||
+ | |||
+ | --- Segments --- | ||
+ | Logical extents 0 to 2047: | ||
+ | Type linear | ||
+ | Physical volume | ||
+ | Physical extents | ||
+ | |||
+ | |||
+ | --- Logical volume --- | ||
+ | LV Path / | ||
+ | LV Name zfs-l2arc | ||
+ | VG Name pve | ||
+ | LV UUID waJkhg-nRfS-rqTg-tvQk-Zpt3-30gm-t6bqTG | ||
+ | LV Write Access | ||
+ | LV Creation host, time proxmox, 2019-08-15 11:36:54 +0300 | ||
+ | LV Status | ||
+ | # open 1 | ||
+ | LV Size <53.16 GiB | ||
+ | Current LE 13608 | ||
+ | Segments | ||
+ | Allocation | ||
+ | Read ahead sectors | ||
+ | - currently set to 256 | ||
+ | Block device | ||
+ | |||
+ | --- Segments --- | ||
+ | Logical extents 0 to 13607: | ||
+ | Type linear | ||
+ | Physical volume | ||
+ | Physical extents | ||
+ | </ | ||
+ | ===== ZFS ===== | ||
+ | < | ||
+ | pool: pve-data | ||
+ | | ||
+ | scan: scrub repaired 0B in 1 days 01:47:53 with 0 errors on Mon May 11 02:11:55 2020 | ||
+ | config: | ||
+ | |||
+ | NAME STATE READ WRITE CKSUM | ||
+ | pve-data | ||
+ | data-zfs-lvm | ||
+ | logs | ||
+ | zfs-zil | ||
+ | cache | ||
+ | zfs-l2arc | ||
+ | |||
+ | errors: No known data errors</ | ||
+ | ====== Стало ====== | ||
+ | ===== диски ===== | ||
+ | На каждом HDD - четыре раздела: | ||
+ | - EFI | ||
+ | - boot | ||
+ | - root | ||
+ | - data | ||
+ | На каждом SSD три раздела: | ||
+ | - swap | ||
+ | - ZIL | ||
+ | - L2ARC | ||
+ | ===== mdadm ===== | ||
+ | Должны остаться два массива - первый **root** на HDD под LVM, второй - swap на SSD без LVM. | ||
+ | ===== LVM ===== | ||
+ | Одинственный pv - mdadm массив на HDD под root. | ||
+ | ===== ZFS ===== | ||
+ | Все функции зеркалирования для данных переезжают на ZFS. \\ | ||
+ | |||
+ | ====== Что делаем ====== | ||
+ | Перенос будет происходить на живой системе. \\ | ||
+ | ===== SSD ===== | ||
+ | Примерный порядок: | ||
+ | - отключаем весь функционал на SSD (swap, ZIL, L2ARC). < | ||
+ | zpool remove pve-data | ||
+ | swapoff -a | ||
+ | </ | ||
+ | - переразбиваем диски. Размер раздела под **ZIL** - вычисляется по формуле ' | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | - создаем mdadm-массив, | ||
+ | sudo mkswap /dev/md2 | ||
+ | swapon -a</ | ||
+ | - Включаем обратно ZIL в зеркальном режиме < | ||
+ | </ | ||
+ | ===== HDD ===== | ||
+ | Примерный порядок: | ||
+ | - изымаем один из дисков из массива mdadm.< | ||
+ | - переразбиваем (количество разделов должно стать 4 - третий раздел должен разделиться на два - root и data).< | ||
+ | sudo sgdisk -n 1:2048:4095 /dev/sda | ||
+ | sudo sgdisk -t 1:EF02 /dev/sda | ||
+ | sudo sgdisk -n 2: | ||
+ | sudo sgdisk -t 2:EF00 /dev/sda | ||
+ | sudo sgdisk -n 3: | ||
+ | sudo sgdisk -t 3:FD00 /dev/sda | ||
+ | sudo sgdisk -n 4: | ||
+ | </ | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | - создаем на новом разделе **root** зеркальный массив **mdadm** из одного диска.< | ||
+ | sudo mdadm --create /dev/md3 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda3 missing | ||
+ | sudo mdadm --detail --scan | sudo tee / | ||
+ | - Добавляем новый зеркальный массив mdadm в Volume Group pve и перемещаем на него root lvm.< | ||
+ | sudo vgextend pve /dev/md3 | ||
+ | sudo pvmove -n / | ||
+ | update-grub | ||
+ | update-initramfs -u</ | ||
+ | - В существующий ZFS-pool подключаем новый data раздел в качестве зеркала.< | ||
+ | - Изымаем из ZFS-pool старое устрйоство (lvm)< | ||
+ | - В результате старый массив mdadm (на котором были lvm root и data) освободится и его можно будет остановить:< | ||
+ | sudo vgreduce pve /dev/md1 | ||
+ | sudo pvremove /dev/md1 | ||
+ | sudo mdadm --stop /dev/md1 | ||
+ | sudo mdadm --zero-superblock / | ||
+ | - Перезбиваем второй диск на четыре раздела, | ||
+ | sudo sgdisk -n 3: | ||
+ | sudo partprobe /dev/sdb | ||
+ | sudo sgdisk | ||
+ | sudo partprobe /dev/sdb | ||
+ | sudo sgdisk -n 4: | ||
+ | sudo partprobe /dev/sdb | ||
+ | </ | ||
+ | sudo mdadm --add /dev/md3 / | ||
+ | sudo mdadm --detail --scan | sudo tee / | ||
+ | update-grub | ||
+ | update-initramfs -u</ | ||
+ | Всё. Тестировать на производительность не тестировал, | ||