LVM 가이드 · 7 min read · Oct 09, 2025

LVM 초보자 가이드 - 6페이지

6 시스템의 원래 상태로 돌아가기

이 장에서는 이전 장의 모든 변경 사항을 취소하여 시스템의 원래 상태로 돌아갑니다. 이는 LVM 설정을 취소하는 방법을 배우기 위한 훈련 목적입니다.

먼저 논리 볼륨을 언마운트해야 합니다:

umount /var/share  
 umount /var/backup  
 umount /var/media
df -h
server1:~# df -h  
 Filesystem            Size  Used Avail Use% Mounted on  
 /dev/sda2             19G  665M   17G   4% /  
 tmpfs                 78M     0   78M   0% /lib/init/rw  
 udev                  10M   92K   10M   1% /dev  
 tmpfs                 78M     0   78M   0% /dev/shm  
 /dev/sda1             137M   17M  114M  13% /boot

그런 다음 각 볼륨을 삭제합니다:

lvremove /dev/fileserver/share

server1:~# lvremove /dev/fileserver/share
정말로 활성 논리 볼륨 “share”를 제거하시겠습니까? [y/n]: <– y
논리 볼륨 “share”가 성공적으로 제거되었습니다

lvremove /dev/fileserver/backup

server1:~# lvremove /dev/fileserver/backup
정말로 활성 논리 볼륨 “backup”을 제거하시겠습니까? [y/n]: <– y
논리 볼륨 “backup”이 성공적으로 제거되었습니다

lvremove /dev/fileserver/media

server1:~# lvremove /dev/fileserver/media
정말로 활성 논리 볼륨 “media”를 제거하시겠습니까? [y/n]: <– y
논리 볼륨 “media”가 성공적으로 제거되었습니다

다음으로 볼륨 그룹 fileserver를 제거합니다:

vgremove fileserver
server1:~# vgremove fileserver  
  볼륨 그룹 "fileserver"가 성공적으로 제거되었습니다

마지막으로 다음을 수행합니다:

pvremove /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
server1:~# pvremove  /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1  
  물리 볼륨 "/dev/sdc1"의 레이블이 성공적으로 지워졌습니다  
  물리 볼륨 "/dev/sdd1"의 레이블이 성공적으로 지워졌습니다  
  물리 볼륨 "/dev/sde1"의 레이블이 성공적으로 지워졌습니다  
  물리 볼륨 "/dev/sdf1"의 레이블이 성공적으로 지워졌습니다
vgdisplay
server1:~# vgdisplay  
  볼륨 그룹이 발견되지 않았습니다
pvdisplay

아무것도 표시되지 않아야 합니다:

server1:~# pvdisplay

이제 시스템이 존재하지 않는 장치를 마운트하려고 시도하지 않도록 /etc/fstab에서 변경 사항을 취소해야 합니다. 다행히도 원본 파일의 백업을 만들어 두었으므로 이제 복사할 수 있습니다:

mv /etc/fstab_orig /etc/fstab

시스템을 재부팅합니다:

shutdown -r now

그 후 다음의 출력은

df -h

다음과 같아야 합니다:

server1:~# df -h  
 Filesystem            Size  Used Avail Use% Mounted on  
 /dev/sda2             19G  666M   17G   4% /  
 tmpfs                 78M     0   78M   0% /lib/init/rw  
 udev                  10M   92K   10M   1% /dev  
 tmpfs                 78M     0   78M   0% /dev/shm  
 /dev/sda1             137M   17M  114M  13% /boot

이제 시스템은 처음과 같아졌습니다 (단, 파티션 /dev/sdb1 - /dev/sdf1은 여전히 존재하며, fdisk로 삭제할 수 있지만 지금은 삭제하지 않으며, 디렉토리 /var/share, /var/backup, /var/media도 삭제하지 않습니다).

7 RAID1에서 LVM

이 장에서는 LVM을 다시 설정하고 RAID1 배열로 이동하여 고가용성을 보장합니다. 최종적으로 다음과 같아야 합니다:

즉, 우리는 파티션 /dev/sdb1 + /dev/sdc1로 RAID 배열 /dev/md0을 만들고, 파티션 /dev/sdd1 + /dev/sde1로 RAID 배열 /dev/md1을 만듭니다. /dev/md0과 /dev/md1은 LVM의 물리 볼륨이 됩니다.

그에 앞서, 이전과 같이 LVM을 설정합니다:

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1  
 vgcreate fileserver /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1  
 lvcreate --name share --size 40G fileserver  
 lvcreate --name backup --size 5G fileserver  
 lvcreate --name media --size 1G fileserver
mkfs.ext3 /dev/fileserver/share  
 mkfs.xfs /dev/fileserver/backup  
 mkfs.reiserfs /dev/fileserver/media

그런 다음 논리 볼륨을 마운트합니다:

mount /dev/fileserver/share /var/share  
 mount /dev/fileserver/backup /var/backup  
 mount /dev/fileserver/media /var/media
df -h

이제 출력은 다음과 같아야 합니다:

server1:~# df -h  
 Filesystem            Size  Used Avail Use% Mounted on  
 /dev/sda2             19G  666M   17G   4% /  
 tmpfs                 78M     0   78M   0% /lib/init/rw  
 udev                  10M   92K   10M   1% /dev  
 tmpfs                 78M     0   78M   0% /dev/shm  
 /dev/sda1             137M   17M  114M  13% /boot  
 /dev/mapper/fileserver-share  
                      40G  177M   38G   1% /var/share  
 /dev/mapper/fileserver-backup  
                      5.0G  144K  5.0G   1% /var/backup  
 /dev/mapper/fileserver-media  
                      1.0G   33M  992M   4% /var/media

이제 /dev/sdc1과 /dev/sde1의 내용을 남은 파티션으로 이동해야 합니다 (/dev/sdc1은 미래의 /dev/md0의 두 번째 파티션이고, /dev/sde1은 미래의 /dev/md1의 두 번째 파티션입니다). 이후에 이들을 LVM에서 제거하고 fd (Linux RAID 자동 감지) 유형으로 포맷한 후 /dev/md0 및 /dev/md1로 이동할 것입니다.

modprobe dm-mirror  
 pvmove /dev/sdc1
vgreduce fileserver /dev/sdc1  
 pvremove /dev/sdc1
pvdisplay
server1:~# pvdisplay  
  --- 물리 볼륨 ---  
  PV 이름               /dev/sdb1  
  VG 이름               fileserver  
  PV 크기               23.29 GB / 사용 불가 0  
  할당 가능             예 (하지만 가득 참)  
  PE 크기 (KByte)      4096  
  총 PE                5961  
  무료 PE              0  
  할당된 PE            5961  
  PV UUID              USDJyG-VDM2-r406-OjQo-h3eb-c9Mp-4nvnvu  
   
  --- 물리 볼륨 ---  
  PV 이름               /dev/sdd1  
  VG 이름               fileserver  
  PV 크기               23.29 GB / 사용 불가 0  
  할당 가능             예  
  PE 크기 (KByte)      4096  
  총 PE                5961  
  무료 PE              4681  
  할당된 PE            1280  
  PV UUID              qdEB5d-389d-O5UA-Kbwv-mn1y-74FY-4zublN  
   
  --- 물리 볼륨 ---  
  PV 이름               /dev/sde1  
  VG 이름               fileserver  
  PV 크기               23.29 GB / 사용 불가 0  
  할당 가능             예  
  PE 크기 (KByte)      4096  
  총 PE                5961  
  무료 PE              1426  
  할당된 PE            4535  
  PV UUID              4vL1e0-sr2M-awGd-qDJm-ZrC9-wuxW-2lEqp2
pvmove /dev/sde1
vgreduce fileserver /dev/sde1  
 pvremove /dev/sde1
pvdisplay
server1:~# pvdisplay  
  --- 물리 볼륨 ---  
  PV 이름               /dev/sdb1  
  VG 이름               fileserver  
  PV 크기               23.29 GB / 사용 불가 0  
  할당 가능             예 (하지만 가득 참)  
  PE 크기 (KByte)      4096  
  총 PE                5961  
  무료 PE              0  
  할당된 PE            5961  
  PV UUID              USDJyG-VDM2-r406-OjQo-h3eb-c9Mp-4nvnvu  
   
  --- 물리 볼륨 ---  
  PV 이름               /dev/sdd1  
  VG 이름               fileserver  
  PV 크기               23.29 GB / 사용 불가 0  
  할당 가능             예  
  PE 크기 (KByte)      4096  
  총 PE                5961  
  무료 PE              146  
  할당된 PE            5815  
  PV UUID              qdEB5d-389d-O5UA-Kbwv-mn1y-74FY-4zublN

이제 /dev/sdc1을 fd (Linux RAID 자동 감지) 유형으로 포맷합니다:

fdisk /dev/sdc

server1:~# fdisk /dev/sdc
이 디스크의 실린더 수는 10443으로 설정되어 있습니다.
그것은 잘못된 것이 아니지만, 1024보다 크며,
특정 설정에서 다음과 같은 문제를 일으킬 수 있습니다:

  1. 부팅 시 실행되는 소프트웨어 (예: 오래된 LILO 버전)
  2. 다른 OS에서 부팅 및 파티셔닝 소프트웨어 (예: DOS FDISK, OS/2 FDISK)

명령 (m은 도움말): <– m
명령 작업
a 부팅 플래그 전환
b bsd 디스크 레이블 편집
c dos 호환성 플래그 전환
d 파티션 삭제
l 알려진 파티션 유형 나열
m 이 메뉴 인쇄
n 새 파티션 추가
o 새 빈 DOS 파티션 테이블 생성
p 파티션 테이블 인쇄
q 변경 사항을 저장하지 않고 종료
s 새 빈 Sun 디스크 레이블 생성
t 파티션의 시스템 ID 변경
u 표시/입력 단위 변경
v 파티션 테이블 확인
w 테이블을 디스크에 기록하고 종료
x 추가 기능 (전문가 전용)

명령 (m은 도움말): <– t
선택한 파티션 1
16진수 코드 (코드를 나열하려면 L): <– L

0 비어 있음 1e 숨겨진 W95 FAT1 80 구형 Minix be Solaris 부트
1 FAT12 24 NEC DOS 81 Minix / 구형 Lin bf Solaris
2 XENIX root 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 숨겨진 C: c6 DRDOS/sec (FAT-
5 확장 41 PPC PReP 부트 85 Linux 확장 c7 Syrinx
6 FAT16 42 SFS 86 NTFS 볼륨 집합 da 비FS 데이터
7 HPFS/NTFS 4d QNX4.x 87 NTFS 볼륨 집합 db CP/M / CTOS / .
8 AIX 4e QNX4.x 2nd part 88 Linux 평문 de Dell 유틸리티
9 AIX 부팅 가능 4f QNX4.x 3rd part 8e Linux LVM df BootIt
a OS/2 부팅 관리자 50 OnTrack DM 93 아메바 e1 DOS 접근
b W95 FAT32 51 OnTrack DM6 Aux 94 아메바 BBT e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT
10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
11 숨겨진 FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
12 Compaq 진단 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
14 숨겨진 FAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor
16 숨겨진 FAT16 63 GNU HURD 또는 Sys ab Darwin 부트 f2 DOS 보조
17 숨겨진 HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep
1b 숨겨진 W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid ff BBT
1c 숨겨진 W95 FAT3 75 PC/IX
16진수 코드 (코드를 나열하려면 L): <– fd
파티션 1의 시스템 유형이 fd (Linux raid 자동 감지)로 변경되었습니다.

명령 (m은 도움말): <– w
파티션 테이블이 변경되었습니다!

ioctl()를 호출하여 파티션 테이블을 다시 읽습니다.
디스크 동기화 중입니다.

이제 /dev/sde1에 대해서도 동일한 작업을 수행합니다:

fdisk /dev/sde
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+  8e  리눅스 LVM  
  
 디스크 /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+  8e  리눅스 LVM  
  
 디스크 /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/sdc1을 /dev/md0에 추가하고 /dev/sde1을 /dev/md1에 추가합니다. 두 번째 노드 (/dev/sdb1 및 /dev/sdd1)가 아직 준비되지 않았기 때문에, 다음 명령에서 missing을 지정해야 합니다:

mdadm --create /dev/md0 --auto=yes -l 1 -n 2 /dev/sdc1 missing
server1:~# mdadm --create /dev/md0 --auto=yes -l 1 -n 2 /dev/sdc1 missing  
 mdadm: 배열 /dev/md0이 시작되었습니다.
mdadm --create /dev/md1 --auto=yes -l 1 -n 2 /dev/sde1 missing
server1:~# mdadm --create /dev/md1 --auto=yes -l 1 -n 2 /dev/sde1 missing  
 mdadm: 배열 /dev/md1이 시작되었습니다.
Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.