질문
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 스토리지를 사용해야 한다고 가정합니다.
- 파티션의 UUID를 가져옵니다
sudo blkid
/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 시스템의 경우 수행해야 할 작업은 다음과 같습니다.
mdadm --detail --scan /dev/md127 >> /etc/mdadm/mdadm.conf
vim /etc/mdadm/mdadm.conf
, 다음과 같이 추가 줄을 편집합니다.ARRAY /dev/md0 메타데이터=1.2 UUID=XXXXXXXX:XXXXXXXX:XXXXXXXX:XXXXXXXX
즉, 해당 name
부품을 제거한 후 장치를 /dev/md0
.
update-initramfs -u
재시작
답변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
그리고 시스템을 다시 시작하세요. 이제 모든 것이 측면에 따라 진행됩니다.