회사 그룹웨어 서버 적정용량이 5TB인데 현재 4TB HDD 2개로 RAID1로 구성되어있어 적정 용량의 80%도 채 안되는 상황이라고 한다. 이 상태로 쓰다가 결국 몇년만에 용량이 다 차버렸다.
새로 들어오신 서버 담당자분께서 도와달라고 하셔서 RAID1 용량 확장 방법에 대해 알아봤다.
현재 50GB도 채 안남아서 남은 용량마저 꽉 차버리기 전에 4TB HDD 2개를 8TB 2개로 변경하기로 했다.
인터넷을 찾아보니 하나씩 빼고 새로 갈아끼우면 된다고 하는데, 연습 없이 실제 서버에 바로 적용시키기엔 너무 위험한것 같아 VMWare로 잘 되는지 테스트해봤고, 그 과정을 기록하기로 했다.
+ 소프트웨어 RAID인줄 알았는데 알고보니 하드웨어 RAID여서 작용은 못시켰다.
CentOS 7 설치
아래와 같이 VM 환경을 설정했다.
5GB HDD는 /boot와 swap에 할당하고, 10GB HDD 2개를 RAID1로 설정한 뒤 20GB 2개로 업그레이드 해볼 것이다.
이제 CentOS를 설치해주자.
CentOS 설치 방법은 아래의 글에서 확인할 수 있다.
CentOS 설치 중 아래와 같이 파티션을 변경해주자.
5GB인 sda에는 /boot와 swap을, 10GB인 sdb와 sdc는 RAID1로 묶어 root에 할당해줬다.
CentOS RAID 구성 방법은 아래의 글에서 확인할 수 있다.
RAID 구성이 완료되었으면 설치를 끝까지 진행하고 재부팅해 설치를 완료하자.
RAID1 구성 확인
우선 RAID가 정상적으로 설치됐는지 확인해보자.
참고로 이번 포스팅의 명령어들은 대부분 관리자 권한으로 실행해야 하기 때문에 su로 진행하는 것을 추천한다.
mdadm --detail --scan
mdadm -E /dev/sdb1
위와 같이 RAID가 정상적으로 구성된 것을 볼 수 있다.
디스크 교체
데이터가 손실되지 않는 것을 확인하기 위해 간단한 테스트 파일을 만들어보자.
mkdir test
echo "RAID1 test" > test/test.txt
이제 /dev/sdc에 해당하는 드라이브를 제거할건데, 제거하기 전에 아래의 명령어를 통해 동기화 및 제거 해주자.
sync
mdadm /dev/md127 --fail /dev/sdc1 --remove /dev/sdc1
그 다음 10GB HDD 하나를 제거하고 20GB HDD 하나를 추가한다.
현재 서버가 재부팅하기 힘든 상황이기 때문에 연습 시에도 재부팅을 하지 않고 진행한다.
원래 부팅 시 자동으로 추가된 HDD가 인식되지만, 지금은 부팅을 해주지 않았기 때문에 수동으로 인식시켜줘야 한다.
아래의 명령을 통해 디스크를 다시 인식시킬 수 있다.
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
추가한 HDD가 잘 스캔되었는지 확인해보자.
fdisk -l
아래와 같이 20GB의 디스크가 추가된것을 볼 수 있다.
아래의 사진처럼 /dev/sdd에 파티션을 생성해준다.
사실 이 경우 sdd 전체를 쓸 것이기 때문에 파티션을 따로 생성할 필요는 없다. 그냥 /dev/sdd 자체를 RAID에 추가해도 되지만 연습 삼아 생성해보도록 하겠다.
/dev/sdd1을 RAID1에 포함시켜준다.
mdadm --manage /dev/md127 --add /dev/sdd1
sdb 파티션도 위와 동일하게 제거하고 20GB의 파티션을 새로 만들어 설정해주자.
만약 2번째 20GB 디스크가 인식이 안될 때 아래의 명령어를 입력하면 다시 될 수도 있다.
echo "1" > /sys/class/scsi_disk/0\:0\:0\:0/device/rescan
echo "1" > /sys/class/scsi_disk/0\:0\:1\:0/device/rescan
echo "1" > /sys/class/scsi_disk/0\:0\:2\:0/device/rescan
echo "1" > /sys/class/scsi_disk/0\:0\:3\:0/device/rescan
RAID1 용량 확장
이전 과정까지 잘 따라왔다면 아래와 같이 2개의 20GB 디스크가 10G의 RAID1 볼륨으로 묶여있는 상태일 것이다.
이제 아래의 명령어를 통해 RAID1을 최대 크기로 확장시키면 끝난다.
mdadm --grow /dev/md127 -z max --assume-clean
이전에 만든 테스트 파일이 잘 남아있는지 확인해보자.
참고자료
'Tips > Linux' 카테고리의 다른 글
[Linux] Linux Timezone 변경하기 (0) | 2021.12.02 |
---|---|
[Linux] SSH 키 기반 인증 시스템 구축하기 (0) | 2021.12.01 |
[Linux] Ubuntu Server 20.04 RAID 구성하기 (2) | 2021.11.24 |
[Linux] Ubuntu Server 20.04 설치하기 (0) | 2021.11.24 |
[Linux] CentOS 7 RAID 구성하기 (0) | 2021.11.15 |