在 Debian 中取消配置 RAID1 並掛載第二塊硬碟
在 Debian 上執行的專用伺服器有兩個 512 SSD,它們都是單個 RAID1 磁碟陣列的一部分。有許多指南,不會失去磁碟上的任何數據,但找不到完整的指南,以便取消配置 RAID1、格式化其中一個磁碟、安裝它們並在
/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
注意:這只適用於 RAID 1,它是一個簡單的線性鏡像。
從 RAID 陣列中移除一個驅動器:
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 層仍然存在而無需真正做任何事情。但它讓您可以選擇在未來輕鬆添加第二個驅動器,從而恢復 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 本身將不再存在。(如果您從救援系統執行此步驟,您也不需要重新啟動,並且您也可以
mdadm --zero-superblock /dev/sda1
在更改分區之前,假設您已經停止了 RAID)。在最後一步中,您必須刪除
mdadm.conf
、更新引導載入程序和 initramfs 以擺脫對 RAID 設置的任何剩餘引用。