더 큰 디스크를 사용하도록 Linux MD RAID 10 어레이 확장


11

내가 이해하는 것에서 이것이 가능하지만 정확히 어떻게 진행 해야하는지에 대한 정확한 대답을 찾을 수 없으며 직접 실험하는 데이터를 잃어 버릴 위험이 없으므로 여기에서 묻습니다.

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

답변:


14

각 디스크에 대해 다음 단계를 완료하십시오. /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 위키 에서 확인할 수 있습니다 .

다른 디스크 조작 작업과 마찬가지로 시작하기 전에 백업을 수행해야합니다.


1
> - 어쩌면 당신은 재 구축 진행 상황을 확인하는 방법 추가tim@MushaV3 ~ $ cat /proc/mdstat Personalities : [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] md1 : active raid1 sdb1[0] sda1[1] 131008 blocks [2/2] [UU] bitmap: 0/1 pages [0KB], 65536KB chunk
djsmiley2kStaysInside

2

각 디스크를 하나씩 차례로 교체하려고합니다.

이렇게하려면 각 디스크를 '실패'하고 새 8Tb 교체로 교체해야합니다. 실제로 예비 포트가있는 경우 여분의 디스크를 추가 한 다음 디스크를 제거하는 대신 mdadm을 '바꾸어'사용할 수 있습니다 습격과 실패의 위험이 높습니다.

이 질문은 내가 '안전하게'하는 가장 좋은 방법을 자세하게 설명합니다.

이 작업을 완료하면 기존 FS를 새로 만든 공간으로 확장하기 만하면됩니다. 이 명령은 'xfs_growfs'이지만 xfs에 대한 경험이 없어서 정확히 어떻게하는지 설명하지 못했습니다.

항상 그렇듯이 백업을 준비하십시오 (공격은 백업이 아닙니다!).


raid10과 mdraid로 설정하면 추가 공간을 인식 할 수 있습니까? 미러링 된 각 쌍에서 하나씩 한 번에 두 개를 교체해야합니까?
Kefka

모든 디스크를 교환 한 후에 만 ​​공간을 추가하면 인식됩니다.
djsmiley2kStaysInside
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.