dimas
unread,Nov 25, 2016, 2:00:02 PM11/25/16You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
всем доброго!
имеется софт-рейд (mdadm) raid1-зеркало (тончее, два). изначально был один 500Г
диск, на нем вся файлопомойка. потом докупил я другой, на 1Т (с расчетом на то,
что когда-нибудь, в светлом будущем, поменяю маленький тоже на терабайтный),
и собрал из них реёд-зеркало.
недавно маленький диск стал чего-то отваливаться из массива с кучей всякого в
dmesg, ну и светлое будущее наступило - купил новый на терабайт.
сейчас конфигурация такая: на каждом из дисков есть два раздела - один на 15Г
(маленькое зеркало для бэкапов) и второй... так, тут выясняются интересные
подробности - на маленьком диске, оказывается, раздел на 400Г, а на большом -
на 900, ну а зеркало в итоге - по размеру меньшей из половинок... блин, я
думал, разделы одинаковые))
srv> ~$ lsblk | grep -v "sda"
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 465,8G 0 disk
├─sdb1 8:17 0 1K 0 part
├─sdb2 8:18 0 400G 0 part
│ └─md126 9:126 0 400G 0 raid1 /media/svalka
└─sdb5 8:21 0 15G 0 part
sdc 8:32 0 931,5G 0 disk
├─sdc1 8:33 0 1K 0 part
├─sdc2 8:34 0 912,4G 0 part
│ └─md126 9:126 0 400G 0 raid1 /media/svalka
└─sdc5 8:37 0 15G 0 part
srv> ~$ sudo fdisk -l /dev/sdb /dev/sdc
[sudo] password for srv:
Disk /dev/sdb: 465,8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000cc92b
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 137901959 137899912 65,8G 5 Extended
/dev/sdb2 137901960 976768064 838866105 400G fd Linux raid autodetect
/dev/sdb5 4096 31459240 31455145 15G fd Linux raid autodetect
Partition table entries are not in disk order.
Disk /dev/sdc: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2ab8c2ce
Device Boot Start End Sectors Size Id Type
/dev/sdc1 63 40066109 40066047 19,1G 5 Extended
/dev/sdc2 40066110 1953525167 1913459058 912,4G fd Linux raid autodetect
/dev/sdc5 126 31455269 31455144 15G fd Linux raid autodetect
Partition table entries are not in disk order.
вот данные самого зеркала:
srv> ~$ sudo mdadm -D /dev/md/svalka
[sudo] password for srv:
/dev/md/svalka:
Version : 1.2
Creation Time : Wed Aug 10 19:52:01 2011
Raid Level : raid1
Array Size : 419431892 (400.00 GiB 429.50 GB)
Used Dev Size : 419431892 (400.00 GiB 429.50 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Fri Nov 25 20:40:22 2016
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : srv:svalka (local to host srv)
UUID : 992b06af:42dd8b35:bc2a3843:e50f2e6b
Events : 5494
Number Major Minor RaidDevice State
3 8 18 0 active sync /dev/sdb2
2 8 34 1 active sync /dev/sdc2
srv> ~$ cat /proc/mdstat
Personalities : [raid1]
md126 : active raid1 sdb2[3] sdc2[2]
419431892 blocks super 1.2 [2/2] [UU]
unused devices: <none>
маленькое на 15Г сейчас просто остановлено, но с ним проще - там ничего
ресайзить не надо.
а из большого же я хочу изъять 500Г диск, взамен него поставить 1Т, расширить
зеркало до 900Г.
каков должен быть порядок действий? мне видится как-то так:
0. разметить новый диск. по идее, туда бы просто склонировать таблицу разделов.
чем это сделать? parted? sfdisk? или может оказаться, что размер (или там
количество блоков) чуть-чуть не совпадает, и лучше ручками?
1. sudo mdadm /dev/mdXXX --fail /dev/sdb2
массив перейдет в состояние degraded
2. sudo mdadm /dev/mdXXX --add /dev/sdXY
где sdXY - раздел на новом диске
3. sudo mdadm --grow -z max
или как-то так...
4. sudo resize2fs -p /dev/mdXXX
да, фс - ext2
5. ...
6. profit!
все верно? или, может быть, можно до добавления нового диска, когда массив
будет в degraded, сделать grow и resize2fs, а потом уже добавлять второй диск,
чтобы оно только они раз засинкалось? такой фокус возможен? а то сначала
синкать, а потом все эти гровы и фс-ресайзы - опять синкать-пересинкать.. или
там синкать особо нечего будет?
и еще бонусный вопрос: старый 500Г диск хочу оставить и иногда rsync-ать на него
содержимое массива (допустим, за вычетом кинца, когда оно превысит 400Г). можно
как-то превратить его из половинки рейда в просто раздел, чтобы фс со всем
файлОм осталась при этом как есть? типа обнулить там рейд-суперблок, чтоб был
просто раздел и на нем просто фс?