내가 이해하는 것에서 이것이 가능하지만 정확히 어떻게 진행 해야하는지에 대한 정확한 대답을 찾을 수 없으며 직접 실험하는 데이터를 잃어 버릴 위험이 없으므로 여기에서 묻습니다.
CentOS를 실행하는 5 개의 디스크가있는 홈 서버가 있습니다. 하나는 OS를 보유한 SSD입니다. 나머지 4 개의 디스크는 mdraid를 사용하여 RAID10에 구성된 4TB 하드 드라이브입니다. 사용중인 파일 시스템은 xfs입니다.
4TB 디스크를 8TB 디스크로 교체하려고합니다. 새로운 RAID를 재구성하고 데이터를 잃지 않고이 교체를 수행하려면 정확히 무엇을해야합니까?
Details output:
[root@fluttershy ~]# mdadm -D /dev/md127
/dev/md127:
Version : 1.2
Creation Time : Mon Apr 18 12:46:24 2016
Raid Level : raid10
Array Size : 7813771264 (7451.79 GiB 8001.30 GB)
Used Dev Size : 3906885632 (3725.90 GiB 4000.65 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Mon Jun 13 11:04:41 2016
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : fluttershy:data (local to host fluttershy)
UUID : aa8f857a:g8bd0344:06d2f6d3:bac01a46
Events : 13440
Number Major Minor RaidDevice State
0 8 1 0 active sync set-A /dev/sda1
1 8 17 1 active sync set-B /dev/sdb1
2 8 33 2 active sync set-A /dev/sdc1
3 8 49 3 active sync set-B /dev/sdd1
답변
각 디스크에 대해 다음 단계를 완료하십시오. /dev/sda1
필요에 따라 다른 디스크로 교체 하십시오. 다음 디스크로 진행하기 전에 한 디스크에 대해이 단계를 모두 완료해야합니다 .
- MD가 디스크 사용을 중지하도록 디스크를 실패한 것으로 표시하십시오.
mdadm --manage /dev/md127 --fail /dev/sda1
- 어레이에서 디스크를 제거하십시오.
mdadm --manage /dev/md127 --remove /dev/sda1
- 디스크를 물리적으로 교체하십시오.
0xDA
전체 디스크에 걸쳐있는 하나의 파티션으로 유형 을 사용하여 새 디스크를 파티션하십시오 .- 어레이에 새 디스크를 추가하십시오.
mdadm --manage /dev/md127 --add /dev/sda1
교체 디스크를 추가하면 MD가 어레이를 재 구축합니다. 다음 디스크로 진행 하기 전에 재 구축이 완료되었는지 확인하십시오 . 을 실행하여 어레이의 상태를 확인할 수 있습니다 cat /proc/mdstat
.
일단 모든 디스크의 교체 및 배열 재건되었습니다와 모든 디스크의 최대 용량을 채우기 위해 배열을 확장 mdadm --grow /dev/md127 --size=max
. 거기에서 파일 시스템의 크기를 조정하여 확장 된 RAID를 채울 수 있습니다. 귀하의 경우, xfs_growfs
명령을 사용하십시오 .
MD 배열을 확장하는 방법에 대한 자세한 내용은 Linux RAID 위키 에서 확인할 수 있습니다 .
다른 디스크 조작 작업과 마찬가지로 시작하기 전에 백업을 수행해야합니다.
답변
각 디스크를 하나씩 차례로 교체하려고합니다.
이렇게하려면 각 디스크를 ‘실패’하고 새 8Tb 교체로 교체해야합니다. 실제로 예비 포트가있는 경우 여분의 디스크를 추가 한 다음 디스크를 제거하는 대신 mdadm을 ‘바꾸어’사용할 수 있습니다 습격과 실패의 위험이 높습니다.
이 질문은 내가 ‘안전하게’하는 가장 좋은 방법을 자세하게 설명합니다.
이 작업을 완료하면 기존 FS를 새로 만든 공간으로 확장하기 만하면됩니다. 이 명령은 ‘xfs_growfs’이지만 xfs에 대한 경험이 없어서 정확히 어떻게하는지 설명하지 못했습니다.
항상 그렇듯이 백업을 준비하십시오 (공격은 백업이 아닙니다!).