2TBと3.5TBを/dev/md2
搭載した専用サーバーがあります。/
/dev/md3
/home
/dev/md2
今500GBに縮小して/dev/md3
約5TBに増やしたいです。どうすればいいですか?/dev/md2
サイズは500GBに調整できましたが、下のレイヤーを/dev/sd[a,b]3
500GBに変更せずに5TBに増やし/dev/md3
ました。/dev/sd[a,b]4
出力cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda4[0] sdb4[1]
3714478663 blocks super 1.2 [2/2] [UU]
resync=PENDING
bitmap: 28/28 pages [112KB], 65536KB chunk
md2 : active raid1 sda3[0] sdb3[1]
2111700992 blocks super 1.2 [2/2] [UU]
[====>................] resync = 22.1% (467664704/2111700992) finish=144.6min speed=189433K/sec
bitmap: 13/16 pages [52KB], 65536KB chunk
md1 : active raid1 sda2[0] sdb2[1]
523712 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1]
33521664 blocks super 1.2 [2/2] [UU]
関連出力fdisk -l
(RAMディスク項目なし):
Disk /dev/sdb: 5.5 TiB, 6001175126016 bytes, 11721045168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 26A1CC9A-D448-41DA-AB97-926922E45FAD
Device Start End Sectors Size Type
/dev/sdb1 4096 67112959 67108864 32G Linux RAID
/dev/sdb2 67112960 68161535 1048576 512M Linux RAID
/dev/sdb3 68161536 4291825663 4223664128 2T Linux RAID
/dev/sdb4 4291825664 11721045134 7429219471 3.5T Linux RAID
/dev/sdb5 2048 4095 2048 1M BIOS boot
Partition table entries are not in disk order.
Disk /dev/sda: 5.5 TiB, 6001175126016 bytes, 11721045168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: CF6FA031-2CD0-4CD6-939B-E761A2871AB2
Device Start End Sectors Size Type
/dev/sda1 4096 67112959 67108864 32G Linux RAID
/dev/sda2 67112960 68161535 1048576 512M Linux RAID
/dev/sda3 68161536 4291825663 4223664128 2T Linux RAID
/dev/sda4 4291825664 11721045134 7429219471 3.5T Linux RAID
/dev/sda5 2048 4095 2048 1M BIOS boot
Partition table entries are not in disk order.
Disk /dev/md0: 32 GiB, 34326183936 bytes, 67043328 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/md1: 511.4 MiB, 536281088 bytes, 1047424 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/md2: 2 TiB, 2162381815808 bytes, 4223401984 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/md3: 3.5 TiB, 3803626151424 bytes, 7428957327 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
ベストアンサー1
すでにRAID1があるため、再構成中にディスク障害のリスクを軽減する準備ができている場合はこれを実行できます。これは完全なレシピではないので、何をしているのかを知る必要があります。それでもデータが失われる可能性が高いです。強くあなたを促すバックアップする始める前に。本当。はい、本気です。
全体的な計画は
- RAIDミラーの取り外し
- 新しい要件に対応するために現在使用されていない半分のサイズを調整します。
- 新しいサイズのパーティションで新しいRAIDハーフミラーを作成する
- アクティブな半分のすべてのファイルシステムを新しくサイズ変更された半分にコピーします(これを行う前に、できるだけ多くのサービスを停止してください)。
- RAIDの新しい半分で再起動(トリッキー)
- ミラーの残りの半分をRAIDに追加
- 整える
これでライブシステムに適用する前に、まずバックアップを作成してください。
実行中に、いくつかのワンタイムループバックディスクイメージのプロセスを試してみてください。これを作成する方法は次のとおりです。
dd if=/dev/zero bs=1M count=200 > disk1.dat # Create a 200MB "disk"
cp -p disk1.dat disk2.dat # And another
parted disk1.dat --align optimal unit MiB --script mklabel gpt # First disk label
parted disk1.dat --align optimal unit MiB mkpart primary 1 2 # Dummy partition
parted disk1.dat --align optimal unit MiB mkpart primary 2 3
parted disk1.dat --align optimal unit MiB mkpart primary 3 150 # First useful partition
parted disk1.dat --align optimal unit MiB mkpart primary 150 100% # Second
parted disk2.dat --align optimal unit MiB --script mklabel gpt # Second disk
parted disk2.dat --align optimal unit MiB mkpart primary 1 2
parted disk2.dat --align optimal unit MiB mkpart primary 2 3
parted disk2.dat --align optimal unit MiB mkpart primary 3 150
parted disk2.dat --align optimal unit MiB mkpart primary 150 100%
d1=$(losetup --show --find --partscan disk1.dat); echo $d1 # Loop device
d2=$(losetup --show --find --partscan disk2.dat); echo $d2
mdadm --create /dev/md103 --metadata default --level=1 --raid-devices=2 ${d1}p3 ${d2}p3
mdadm --create /dev/md104 --metadata default --level=1 --raid-devices=2 ${d1}p4 ${d2}p4
mkfs -t ext4 -L 103 /dev/md103
mkfs -t ext4 -L 104 /dev/md104
mkdir /mnt/103 /mnt/104 # Mountpoints for our test filesystems
mount /dev/md103 /mnt/103
mount /dev/md104 /mnt/104
いくつかのデータをコピーしてプロセスを試みることができる/dev/md103
2つのRAID1ファイルシステムがあります。ループバックディスクイメージデバイスのデフォルト名としておよびを/dev/md104
使用しました。$d1
$d2
以下はいくつかの詳細です。バックアップは完了しましたか?
RAIDミラーの取り外し
次のコマンドを使用すると、2つのRAIDパーティションの半分が失敗するように設定できます。
mdadm /dev/md103 --set-faulty ${d2}p3 --remove ${d2}p3 # sdb3 mdadm --zero-superblock ${d2}p3 mdadm /dev/md104 --set-faulty ${d2}p4 --remove ${d2}p4 # sdb4 mdadm --zero-superblock ${d2}p4
2番目のディスクパーティションのサイズ変更
優先ツールを使用して、2 番目のディスクのパーティションを削除して再作成します。例えば、
parted $d2 --align optimal unit MiB rm 3 parted $d2 --align optimal unit MiB rm 4
この時点でシステムを再起動する必要があるかもしれません。 (または要件が満たされる可能性があります。)完了したら、ループデバイスを再作成して割り当てる
partprobe
ことを忘れないでください。$d1
$d2
parted $d2 --align optimal unit MiB mkpart primary 3 50 parted $d2 --align optimal unit MiB mkpart primary 50 100%
新しいサイズのパーティションで新しいRAIDハーフミラーを作成する
RAIDデバイスとファイルシステムを作成します。最初の項目がすでに配列の一部であるかのように警告するので、心配しないでください。以前はそうでしたが、今はそうではありません。
mdadm --create /dev/md203 --metadata default --level=1 --raid-devices=2 missing ${d2}p3 mdadm --create /dev/md204 --metadata default --level=1 --raid-devices=2 missing ${d2}p4 mkfs -t ext4 -L 203 /dev/md203 mkfs -t ext4 -L 204 /dev/md204 mkdir /mnt/203 /mnt/204 mount /dev/md203 /mnt/203 mount /dev/md204 /mnt/204
アクティブな半分のすべてのファイルシステムを新しくサイズ変更された半分にコピーする
ファイルシステムができるだけ安定しているように実行する前に、できるだけ多くのサービスを停止することが重要です。
cp -ax /mnt/103 /mnt/203 # cp -ax / /mnt/203 cp -ax /mnt/104 /mnt/204 # cp -ax /home /mnt/204
新しいハーフRAIDで再起動
/etc/mdadm/mdadm.conf
新しいアレイにアップデートする必要があります。このコマンドを使用して、まだリストされていない項目を追加します。mdadm --examine --scan
また、新しいルートファイルシステムを見つけるために
grub
システムを更新する必要があります。initramfs
設定にこれらの詳細が記載されていないため、ご案内できません。ミラーの残りの半分をRAIDに追加
新しいハーフミラーでRAIDが正常に実行されていると確信している場合は、元のハーフミラーを削除して新しいハーフミラーに再追加できます。それでもファイルシステムをマウントすると、これらのコマンドは失敗します。 (この段階ではそうではありません。)
mdadm --stop /dev/md103 mdadm --zero-superblock ${d1}p3 mdadm --stop /dev/md104 mdadm --zero-superblock ${d1}p4
上記のコマンドを使用して、残りのディスクパーティションのサイズを変更します
parted
。新しいハーフミラーRAID1に新しくサイズ変更されたパーティションを追加する
mdadm /dev/md203 --add ${d1}p3 mdadm /dev/md204 --add ${d1}p4
整える
、、、から
/etc/mdadm/mdadm.conf
既存のデバイスを削除します。再起動。grub
initramfs
/etc/fstab