Debian에서 RAID1 구성을 해제하고 두 번째 하드 드라이브를 마운트합니다.

Debian에서 RAID1 구성을 해제하고 두 번째 하드 드라이브를 마운트합니다.

Debian에서 실행되는 전용 서버에는 2개의 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

답변1

참고: 이는 단순한 선형 미러인 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/sda1RAID를 중지했다는 가정 하에 파티션을 변경하기 전에 재부팅할 수도 있습니다.)


마지막 단계로 mdadm.conf부트로더와 initramfs를 제거하고 업데이트하여 RAID 설정에 대한 나머지 참조를 제거해야 합니다.

관련 정보