LVM 가이드 · 5 min read · Oct 09, 2025
LVM 초보자 가이드 - 8페이지
8 더 큰 하드 디스크로 교체하기
현재 우리는 각각 25GB 크기의 하드 디스크 4개를 사용하고 있습니다(적어도 그렇게 행동하고 있습니다). 이제 더 이상 충분하지 않다고 가정해 보겠습니다. RAID 설정에서 더 많은 공간이 필요합니다. 따라서 25GB 하드 디스크를 80GB 하드 디스크로 교체할 것입니다(사실 현재 하드 디스크를 계속 사용하겠지만, 이제 그들의 전체 용량을 사용할 것입니다 - 실제로는 오래된 작은 하드 디스크를 새롭고 더 큰 것으로 교체해야 합니다).
절차는 다음과 같습니다: 먼저 /dev/sdb와 /dev/sdd를 RAID 배열에서 제거하고, 더 큰 하드 디스크로 교체한 후 다시 RAID 배열에 넣고, 같은 작업을 /dev/sdc와 /dev/sde에 대해 반복합니다.
먼저 /dev/sdb1을 실패로 표시합니다:
mdadm --manage /dev/md0 --fail /dev/sdb1server1:~# mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md0다음의 출력은
cat /proc/mdstat이제 다음과 같이 보입니다:
server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0] sdb1[2](F)
24418688 blocks [2/1] [U_]
md1 : active raid1 sde1[0] sdd1[1]
24418688 blocks [2/2] [UU]
unused devices: 그런 다음 /dev/sdb1을 RAID 배열 /dev/md0에서 제거합니다:
mdadm --manage /dev/md0 --remove /dev/sdb1server1:~# mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm: hot removed /dev/sdb1cat /proc/mdstatserver1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0]
24418688 blocks [2/1] [U_]
md1 : active raid1 sde1[0] sdd1[1]
24418688 blocks [2/2] [UU]
unused devices: 이제 /dev/sdd1에 대해서도 같은 작업을 수행합니다:
mdadm --manage /dev/md1 --fail /dev/sdd1server1:~# mdadm --manage /dev/md1 --fail /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md1cat /proc/mdstatserver1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0]
24418688 blocks [2/1] [U_]
md1 : active raid1 sde1[0] sdd1[2](F)
24418688 blocks [2/1] [U_]
unused devices: mdadm --manage /dev/md1 --remove /dev/sdd1server1:~# mdadm --manage /dev/md1 --remove /dev/sdd1
mdadm: hot removed /dev/sdd1cat /proc/mdstatserver1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdc1[0]
24418688 blocks [2/1] [U_]
md1 : active raid1 sde1[0]
24418688 blocks [2/1] [U_]
unused devices: 실제 시스템에서는 이제 시스템을 종료하고 25GB /dev/sdb와 /dev/sdd를 꺼내고 80GB로 교체해야 합니다. 앞서 말했듯이, 우리는 이미 모든 하드 디스크가 80GB 용량을 가지고 있기 때문에 이 작업을 수행할 필요가 없습니다.
다음으로 /dev/sdb와 /dev/sdd를 포맷해야 합니다. 우리는 /dev/sdb1 또는 /dev/sdd1 파티션을 생성해야 하며, 타입 fd(리눅스 RAID 자동 감지), 크기 25GB(오래된 하드 디스크와 동일한 설정)로 설정하고, 나머지 하드 디스크를 커버하는 /dev/sdb2 또는 /dev/sdd2 파티션을 생성해야 합니다. /dev/sdb1과 /dev/sdd1이 여전히 하드 디스크에 존재하므로, 이 특별한 예에서는 /dev/sdb2와 /dev/sdd2만 생성하면 됩니다.
fdisk /dev/sdbserver1:~# fdisk /dev/sdb
디스크의 실린더 수는 10443으로 설정되어 있습니다.
그것은 잘못된 것이 아니지만, 1024보다 크며, 특정 설정에서 다음과 같은 문제를 일으킬 수 있습니다:
- 부팅 시 실행되는 소프트웨어(예: 오래된 LILO 버전)
- 다른 OS에서 부팅 및 파티셔닝 소프트웨어(예: DOS FDISK, OS/2 FDISK)
명령(m은 도움말): <– p
디스크 /dev/sdb: 85.8 GB, 85899345920 바이트
255 헤드, 63 섹터/트랙, 10443 실린더
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sdb1 1 3040 24418768+ fd 리눅스 RAID 자동 감지
명령(m은 도움말): <– n
명령 작업
e 확장
p 기본 파티션 (1-4)
<– p
파티션 번호(1-4): <– 2
첫 번째 실린더(3041-10443, 기본값 3041): <–
기본값 3041 사용
마지막 실린더 또는 +size 또는 +sizeM 또는 +sizeK(3041-10443, 기본값 10443): <–
기본값 10443 사용
명령(m은 도움말): <– t
파티션 번호(1-4): <– 2
16진수 코드(코드 목록을 보려면 L 입력): <– fd
파티션 2의 시스템 유형을 fd(리눅스 RAID 자동 감지)로 변경했습니다.
명령(m은 도움말): <– w
파티션 테이블이 변경되었습니다!
ioctl()을 호출하여 파티션 테이블을 다시 읽습니다.
디스크 동기화 중.
/dev/sdd에 대해서도 동일하게 수행합니다:
fdisk /dev/sdd다음의 출력은
fdisk -l이제 다음과 같이 보입니다:
server1:~# fdisk -l
디스크 /dev/sda: 21.4 GB, 21474836480 바이트
255 헤드, 63 섹터/트랙, 2610 실린더
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sda1 * 1 18 144553+ 83 리눅스
/dev/sda2 19 2450 19535040 83 리눅스
/dev/sda4 2451 2610 1285200 82 리눅스 스왑 / 솔라리스
디스크 /dev/sdb: 85.8 GB, 85899345920 바이트
255 헤드, 63 섹터/트랙, 10443 실린더
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sdb1 1 3040 24418768+ fd 리눅스 RAID 자동 감지
/dev/sdb2 3041 10443 59464597+ fd 리눅스 RAID 자동 감지
디스크 /dev/sdc: 85.8 GB, 85899345920 바이트
255 헤드, 63 섹터/트랙, 10443 실린더
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sdc1 1 3040 24418768+ fd 리눅스 RAID 자동 감지
디스크 /dev/sdd: 85.8 GB, 85899345920 바이트
255 헤드, 63 섹터/트랙, 10443 실린더
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sdd1 1 3040 24418768+ fd 리눅스 RAID 자동 감지
/dev/sdd2 3041 10443 59464597+ fd 리눅스 RAID 자동 감지
디스크 /dev/sde: 85.8 GB, 85899345920 바이트
255 헤드, 63 섹터/트랙, 10443 실린더
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sde1 1 3040 24418768+ fd 리눅스 RAID 자동 감지
디스크 /dev/sdf: 85.8 GB, 85899345920 바이트
255 헤드, 63 섹터/트랙, 10443 실린더
단위 = 16065 * 512 = 8225280 바이트의 실린더
장치 부팅 시작 끝 블록 Id 시스템
/dev/sdf1 1 3040 24418768+ 8e 리눅스 LVM
디스크 /dev/md1: 25.0 GB, 25004736512 바이트
2 헤드, 4 섹터/트랙, 6104672 실린더
단위 = 8 * 512 = 4096 바이트의 실린더
디스크 /dev/md1은 유효한 파티션 테이블을 포함하지 않습니다.
디스크 /dev/md0: 25.0 GB, 25004736512 바이트
2 헤드, 4 섹터/트랙, 6104672 실린더
단위 = 8 * 512 = 4096 바이트의 실린더
디스크 /dev/md0은 유효한 파티션 테이블을 포함하지 않습니다.이제 /dev/sdb1을 /dev/md0에 다시 추가하고 /dev/sdd1을 /dev/md1에 추가합니다:
mdadm --manage /dev/md0 --add /dev/sdb1server1:~# mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: re-added /dev/sdb1mdadm --manage /dev/md1 --add /dev/sdd1server1:~# mdadm --manage /dev/md1 --add /dev/sdd1
mdadm: re-added /dev/sdd1이제 두 RAID 배열의 내용이 동기화됩니다. 완료될 때까지 기다려야 합니다. 동기화 상태는
cat /proc/mdstat으로 확인할 수 있습니다. 동기화 중 출력은 다음과 같습니다:
server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdb1[1] sdc1[0]
24418688 blocks [2/1] [U_]
[=>...................] recovery = 9.9% (2423168/24418688) finish=2.8min speed=127535K/sec
md1 : active raid1 sdd1[1] sde1[0]
24418688 blocks [2/1] [U_]
[=>...................] recovery = 6.4% (1572096/24418688) finish=1.9min speed=196512K/sec
unused devices: 완료되면 다음과 같이 보입니다:
server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sdb1[1] sdc1[0]
24418688 blocks [2/2] [UU]
md1 : active raid1 sdd1[1] sde1[0]
24418688 blocks [2/2] [UU]
unused devices: 새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.