web-dev-qa-db-ja.com

RAID1を構成解除し、Debianで2番目のハードドライブをマウントします

Debianで実行されている専用サーバーには2つの512SSDがあり、どちらも単一のRAID1ディスクアレイの一部です。ディスク上のデータを失うことなくそのためのガイドはたくさんありますが、RAID1を構成解除し、ディスクの1つをフォーマットし、マウントして/etc/fstabで構成するための完全なガイドを見つけることができませんでした。

誰かが完全なガイドを提供するなら、それは私のような新しいUnixユーザーにとって非常に役に立ちます。

これらはいくつかのコマンドの結果です。

# lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda       8:0    0   477G  0 disk
├─sda1    8:1    0    32G  0 part
│ └─md0   9:0    0    32G  0 raid1 [SWAP]
├─sda2    8:2    0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1 /boot
└─sda3    8:3    0 444.4G  0 part
  └─md2   9:2    0 444.3G  0 raid1 /
sdb       8:16   0   477G  0 disk
├─sdb1    8:17   0    32G  0 part
│ └─md0   9:0    0    32G  0 raid1 [SWAP]
├─sdb2    8:18   0   512M  0 part
│ └─md1   9:1    0 511.4M  0 raid1 /boot
└─sdb3    8:19   0 444.4G  0 part
  └─md2   9:2    0 444.3G  0 raid1 /


# fdisk -l

Disk /dev/sdb: 477 GiB, 512110190592 bytes, 1000215216 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: 0x0ba4900f

Device     Boot    Start        End   Sectors   Size Id Type
/dev/sdb1           2048   67110911  67108864    32G fd Linux raid autodetect
/dev/sdb2       67110912   68159487   1048576   512M fd Linux raid autodetect
/dev/sdb3       68159488 1000213167 932053680 444.4G fd Linux raid autodetect

Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 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: 0x31fd01ce

Device     Boot    Start        End   Sectors   Size Id Type
/dev/sda1           2048   67110911  67108864    32G fd Linux raid autodetect
/dev/sda2       67110912   68159487   1048576   512M fd Linux raid autodetect
/dev/sda3       68159488 1000213167 932053680 444.4G fd Linux raid autodetect

Disk /dev/md0: 32 GiB, 34326183936 bytes, 67043328 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
Disk /dev/md1: 511.4 MiB, 536281088 bytes, 1047424 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
Disk /dev/md2: 444.3 GiB, 477077241856 bytes, 931791488 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


# blkid
/dev/sdb1: UUID="4374a69b-c5ca-ceee-bfd3-3df61d255a13" UUID_SUB="f1ca2293-d87d-83b8-dad9-aba968c25d0a" LABEL="rescue:0" TYPE="linux_raid_member" PARTUUID="0ba4900f-01"
/dev/sdb2: UUID="4b93d869-e581-7187-70ca-c4f9e7668ed5" UUID_SUB="6921e275-a6f3-0e5f-52c6-37520265266e" LABEL="rescue:1" TYPE="linux_raid_member" PARTUUID="0ba4900f-02"
/dev/sdb3: UUID="10c95f64-534c-e940-f016-77851637282b" UUID_SUB="003339b6-34c6-a11c-0f95-722934e2cd25" LABEL="rescue:2" TYPE="linux_raid_member" PARTUUID="0ba4900f-03"
/dev/sda1: UUID="4374a69b-c5ca-ceee-bfd3-3df61d255a13" UUID_SUB="865a9479-0077-b93e-fde5-62b4427eed93" LABEL="rescue:0" TYPE="linux_raid_member" PARTUUID="31fd01ce-01"
/dev/sda2: UUID="4b93d869-e581-7187-70ca-c4f9e7668ed5" UUID_SUB="fade36f5-1a58-9645-4c8e-d3bbbadb2d4d" LABEL="rescue:1" TYPE="linux_raid_member" PARTUUID="31fd01ce-02"
/dev/sda3: UUID="10c95f64-534c-e940-f016-77851637282b" UUID_SUB="75c16690-bce6-0f66-1a6f-4819b70fb1bd" LABEL="rescue:2" TYPE="linux_raid_member" PARTUUID="31fd01ce-03"
/dev/md0: UUID="2317882d-d15e-4879-8eab-8d37b77b717e" TYPE="swap"
/dev/md1: UUID="6ef84344-8aa2-4807-9486-4c98ab3aeffa" TYPE="ext3"
/dev/md2: UUID="a710dcc5-e25f-452b-bffd-486bb9eba812" TYPE="ext4"

そしてこれは/etc/fstabです:

proc /proc proc defaults 0 0
/dev/md/0 none swap sw 0 0
/dev/md/1 /boot ext3 defaults 0 0
/dev/md/2 / ext4 defaults 0 0
1
Ulugbek

注:これは、単純な線形ミラーであるRAID1でのみ機能します。

RAIDアレイから1つのドライブを削除する:

mdadm /dev/md0 --fail /dev/sdb1
mdadm /dev/md0 --remove /dev/sdb1
mdadm --zero-superblock /dev/sdb1

したがって、他のすべてのmd/sdbパーティションについても同じです。その後、/dev/sdbで好きなことをすることができます。

RAIDに関しては、劣化しています(2台のドライブのうち1台)。劣化しないようにすることが可能です(1ドライブのうち1ドライブ):

mdadm --grow /dev/md0 --raid-devices=1 --force

そうすれば、RAIDレイヤーは実際には何もしなくても存在します。ただし、将来的に2台目のドライブを簡単に追加して、RAID操作を再開するオプションが残ります。また、他の構成を変更する必要はありません。


RAID 1を完全に削除したい場合は、データオフセットを決定し、それに応じてパーティションオフセットを移動する必要があります。

# mdadm --examine /dev/sda1
Data Offset : 2048 sectors
$ cat /sys/block/sda/sda1/start
2048
$ cat /sys/block/sda/sda1/size
268613632

この例では、データオフセットが2048であり、パーティション自体は2048で始まり、268613632の大きさです。

このパーティションを削除して、新しいパーティション2048+2048 --268613632-2048を作成する必要があります。つまりオフセットセクターで開始を増やし、オフセットセクターでサイズを減らすと、パーティションの終了セクターは変更されません。

partedでは、任意のパーティショナーを使用してこれを行うことができます。

# parted /dev/sda
) unit s
) print free
) rm 1
) print free
) mkpart primary 4096s 268611583s
) name 1 mynonraidroot

再起動後、新しいパーティションはファイルシステムを直接指すようになり、RAID自体は存在しなくなります。 (レスキューシステムからこの手順を実行する場合も、再起動する必要はありません。また、RAIDをすでに停止している場合は、パーティションを変更する前にmdadm --zero-superblock /dev/sda1することもできます)。


最後のステップでは、mdadm.confを削除し、ブートローダーとinitramfsを更新して、RAIDセットアップへの残りの参照をすべて削除する必要があります。

2
frostschutz