해결책

해결책

질문

RAID 1 구성을 생성하고 이름을 /dev/md1로 지정했지만 재부팅하면 이름이 항상 /dev/md127로 변경됩니다.

답변1

해결책

생성된 RAID 1 구성으로 솔루션을 찾을 수 없습니다. 이 솔루션의 경우 먼저 RAID 1을 삭제해야 한다고 안내하므로 데이터를 백업해 주세요. 사실 방금 사용하던 VM을 삭제하고 새로 만들었습니다.
따라서 이것은 Debian 10과 깨끗한 시스템에서 작동합니다.

새로운 깨끗한 raid1 구성을 만듭니다.

제 경우에는 가상 디스크가 3개 있어서 다음과 같은 명령을 실행했습니다. (먼저 동일한 크기의 파티션을 생성하고 Linux raid 자동 감지 유형을 입력해야 한다는 점을 기억하세요.)

sudo mdadm --create /dev/md1 --level=mirror --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

mdadm.conf 편집

파일로 이동하여 /etc/mdadm/mdadm.conf모든 항목을 삭제하고 다음으로 바꿉니다.

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays

이전 파일의 배열에 대한 참조 추가

루트로 로그인하여 다음을 수행하십시오.

sudo mdadm --detail --scan >> /etc/mdadm/mdadm.conf

현재 이 파일의 내용은 다음과 같습니다.

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md1 metadata=1.2 name=buster:1 UUID=1279dbd2:d0acbb4f:0b34e3e1:3de1b3af

ARRAY /dev/md1metadata=1.2 name=buster:1 UUID=1279dbd2:d0acbb4f:0b34e3e1:3de1b3af(어레이를 참조하는 새 줄입니다)

명령이 ARRAY 행 앞에 항목을 추가하는 경우 이를 제거하십시오.

혹시라도

달리기sudo update-initramfs -u

RAID의 파티션을 영구적으로 마운트

설치는 선택 사항이지만 RAID1 스토리지를 사용해야 한다고 가정합니다.

  1. 파티션의 UUID를 가져옵니다sudo blkid
  2. /etc/fstab이 새로운 코드 줄로 편집하고 UUID=d367f4ed-2b37-4967-971a-13d9129fff4f /home/vagrant/raid1 ext3 defaults 0 2 UUID를 파티션에 있는 UUID로 바꾸고 파일 시스템을 파티션에 있는 파일 시스템으로 바꿉니다.

내 현재 콘텐츠 /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/vda1 during installation
UUID=b9ffc3d1-86b2-4a2c-a8be-f2b2f4aa4cb5 /               ext4    errors=remount-ro 0       1
# swap was on /dev/vda5 during installation
UUID=f8f6d279-1b63-4310-a668-cb468c9091d8 none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
UUID=d367f4ed-2b37-4967-971a-13d9129fff4f /home/vagrant/raid1 ext3 defaults  0      2

UUID=d367f4ed-2b37-4967-971a-13d9129fff4f /home/vagrant/raid1 ext3 기본값 0 2 (여기서 내가 추가한 줄을 명확하게 볼 수 있습니다)

이제 다시 시작할 수 있습니다

이제 이름은 바뀌지 않습니다.
실행하면 sudo fdisk -l다음이 표시됩니다(관련 정보만 표시합니다).

Disk /dev/md1: 1022 MiB, 1071644672 bytes, 2093056 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: 0x37b2765e

Device     Boot Start     End Sectors  Size Id Type
/dev/md1p1       2048 2093055 2091008 1021M 83 Linux

내가 달리면 df -Th나는 얻는다.

Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  227M     0  227M   0% /dev
tmpfs          tmpfs      49M  3.4M   46M   7% /run
/dev/sda1      ext4       19G  4.1G   14G  24% /
tmpfs          tmpfs     242M     0  242M   0% /dev/shm
tmpfs          tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs          tmpfs     242M     0  242M   0% /sys/fs/cgroup
/dev/md1p1     ext3      989M  1.3M  937M   1% /home/vagrant/raid1
tmpfs          tmpfs      49M     0   49M   0% /run/user/1000

마운트도 되어 있는 것을 볼 수 있습니다. 마지막으로 을 실행하면 다음과 같은 cat /proc/mdstat결과를 얻습니다.

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid1 sdd1[2] sdc1[1] sdb1[0]
      1046528 blocks super 1.2 [3/3] [UUU]

unused devices: <none>

raid1은 sdb1, sdc1 및 sdd1과 함께 작동합니다.
이제 끝났습니다! 다시 시작할 수 있으며 팀 이름은 영원히 유지됩니다.

나에게 맞는 솔루션을 찾기 위해 사용한 모든 리소스

https://superuser.com/questions/287462/how-can-i-make-mdadm-auto-assemble-raid-after-each-boot
https://ubuntuforums.org/showthread.php?t=2265120
https://askubuntu.com/questions/63980/how-do-i-rename-an-mdadm-raid-array
https://serverfault.com/questions/267480/how-do-i-rename-an-mdadm-raid-array
https://bugzilla.redhat.com/show_bug.cgi?id=606481

일부는 다른 것보다 이 솔루션에 더 적합하지만그들 모두이 솔루션을 찾는 데 도움이되었습니다.
와, 많이 읽으셨죠? 이제 문제가 해결되었으므로 안심하셔도 됩니다. 도움이 되기를 바랍니다. 안녕히 가세요!

답변2

Debian 11 시스템의 경우 수행해야 할 작업은 다음과 같습니다.

  1. mdadm --detail --scan /dev/md127 >> /etc/mdadm/mdadm.conf

  2. vim /etc/mdadm/mdadm.conf, 다음과 같이 추가 줄을 편집합니다.

    ARRAY /dev/md0 메타데이터=1.2 UUID=XXXXXXXX:XXXXXXXX:XXXXXXXX:XXXXXXXX

즉, 해당 name부품을 제거한 후 장치를 /dev/md0.

  1. update-initramfs -u

  2. 재시작

답변3

이는 mdadm이 배열이 "로컬" 배열이 아닌 "외부" 배열임을 감지한 경우 발생할 수 있습니다. 외부 어레이에는 md127에서 시작하여(아래로 내려가는) 장치 노드가 할당됩니다. 로컬 배열에는 md0에서 시작하여 위쪽으로 장치 노드가 할당됩니다.

mdadm이 배열이 로컬인지 외부인지 확인하는 한 가지 방법은 배열에 기록된 "홈호스트" 이름을 현재 호스트 이름과 비교하는 것입니다. mdadm이 실행 중일 때 시작 중에 호스트 이름이 올바르게 구성되지 않는 것이 드문 일이 아니라는 것을 발견했습니다(init 시스템이 아직 /etc/hostname의 내용을 기반으로 호스트 이름을 설정하는 init 스크립트에 도달하지 않았기 때문입니다). 따라서 mdadm이 호스트 이름을 쿼리하면 "localhost" 또는 "(none)" 또는 커널에 컴파일된 기본 호스트 이름을 가져옵니다. 이 기본 이름은 배열에 기록된 "homehost"와 일치하지 않으므로 mdadm은 이를 외부 배열로 처리합니다.

mdadm을 실행하여 어레이를 어셈블하기 전에 시스템의 호스트 이름이 설정되어 있는지 확인하면 이 문제를 해결할 수 있습니다.

답변4

"/etc/mdadm/mdadm.conf"에서 어레이를 삭제하고 다음 명령을 실행했습니다.

sudo update-initramfs -u

그런 다음 시스템을 다시 시작하십시오. 배열을 추가하는 것보다

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

열고 /etc/mdadm/mdadm.conf다음으로 변경하세요.

ARRAY /dev/md/0 metadata=1.2 name=raspberrypi-nas:0 UUID=86275e90:a19b3601:fc78b0d8:57f9c56a
ARRAY /dev/md/1 metadata=1.2 name=raspberrypi:1 UUID=e8f0c48c:448321f6:1db0f830:ea39bc42

나도 원하는 대로 달려

sudo update-initramfs -u

그리고 시스템을 다시 시작하세요. 이제 모든 것이 측면에 따라 진행됩니다.

관련 정보