parted를 사용하여 새 디스크 /dev/sdb에 LVM 구성 방법
매우 중요: 아래 과정은 /dev/sdb 디스크의 모든 데이터를 삭제할 수 있습니다. 대상 디스크가 정확한지 반드시 확인하시고, 중요한 데이터는 미리 백업하십시오.
과정 요약
상세 단계
1. `parted`로 LVM용 파티션 생성 및 타입 설정
먼저 /dev/sdb 디스크에 LVM으로 사용할 파티션을 생성합니다. 여기서는 디스크 전체를 하나의 파티션으로 사용하는 예시를 보여드립니다.
1. **`parted` 실행:**
sudo parted /dev/sdb
2. **파티션 테이블 생성 (디스크가 새 것이거나 기존 파티션 테이블을 사용하지 않을 경우):** * **GPT (권장):** 최신 시스템 및 2TB 이상 디스크에 권장됩니다.
(parted) mklabel gpt
- MSDOS (MBR): 구형 시스템 또는 특정 호환성이 필요한 경우 사용합니다.
(parted) mklabel msdos
경고 메시지가 나타나면 //Yes//를 입력합니다.
3. **파티션 생성:** 디스크 전체를 하나의 파티션으로 만들고, 파일 시스템 타입을 지정하지 않거나 나중에 LVM으로 지정합니다.
(parted) mkpart primary 0% 100%
- primary: 파티션 타입 (MBR의 경우 주 파티션. GPT에서는 이 부분이 파티션 이름으로 사용될 수 있으며, 파일 시스템 타입은 여기서 지정하지 않아도 됩니다.)
- 0%: 시작 위치
- 100%: 끝 위치 (디스크 전체 사용)
4. **생성된 파티션 확인:**
(parted) print
출력된 정보에서 생성된 파티션 번호(Number)를 확인합니다. 보통 첫 번째 파티션이므로 **1**번일 것입니다.
5. **파티션 타입(플래그)을 LVM으로 설정:** 확인한 파티션 번호 (예: **1**)에 LVM 플래그를 설정합니다.
(parted) set 1 lvm on
6. **변경 사항 저장 및 `parted` 종료:**
(parted) quit
이제 /dev/sdb1 (첫 번째 파티션일 경우)이 LVM으로 사용될 준비가 되었습니다. `lsblk` 또는 `fdisk -l /dev/sdb` 명령으로 파티션이 생성되었는지 확인할 수 있습니다.
2. PV(Physical Volume) 생성
`parted`로 생성한 파티션 ( /dev/sdb1 )을 LVM Physical Volume으로 초기화합니다.
sudo pvcreate /dev/sdb1
성공적으로 생성되었는지 확인합니다.
sudo pvs # 또는 sudo pvdisplay /dev/sdb1
3. VG(Volume Group) 생성
생성한 PV를 사용하여 Volume Group을 만듭니다. VG는 여러 PV를 묶어서 하나의 큰 저장 공간처럼 사용할 수 있게 합니다.
sudo vgcreate <원하는_VG_이름> /dev/sdb1
- `<원하는_VG_이름>`: VG의 이름을 지정합니다 (예: `myvg`, `datavg`).
예시:
sudo vgcreate my_volume_group /dev/sdb1
성공적으로 생성되었는지 확인합니다.
sudo vgs # 또는 sudo vgdisplay <생성한_VG_이름>
4. LV(Logical Volume) 생성
VG 내에 실제로 데이터를 저장할 Logical Volume을 생성합니다.
- 특정 크기로 LV 생성:
sudo lvcreate -L <크기> -n <원하는_LV_이름> <VG_이름>
- `<크기>`: `10G` (10 기가바이트), `500M` (500 메가바이트) 등
- `<원하는_LV_이름>`: LV의 이름을 지정합니다 (예: `mylv`, `webdata_lv`).
- `<VG_이름>`: 앞에서 생성한 VG 이름
예시 (10GB 크기의 LV 생성):
sudo lvcreate -L 10G -n logical_volume1 my_volume_group
- VG의 남은 공간 전체를 사용하여 LV 생성:
sudo lvcreate -l 100%FREE -n <원하는_LV_이름> <VG_이름>
예시:
sudo lvcreate -l 100%FREE -n data_lv my_volume_group
성공적으로 생성되었는지 확인합니다.
sudo lvs # 또는 sudo lvdisplay /dev/<VG_이름>/<LV_이름>
LV는 /dev/<VG_이름>/<LV_이름> 또는 /dev/mapper/<VG_이름>-<LV_이름> 과 같은 경로로 접근할 수 있습니다.
5. 파일 시스템 생성
생성된 LV 위에 파일 시스템을 만듭니다. 일반적으로 `xfs` 또는 `ext4`를 많이 사용합니다.
- XFS 파일 시스템 생성:
sudo mkfs.xfs /dev/<VG_이름>/<LV_이름>
예시:
sudo mkfs.xfs /dev/my_volume_group/logical_volume1
- EXT4 파일 시스템 생성:
sudo mkfs.ext4 /dev/<VG_이름>/<LV_이름>
예시:
sudo mkfs.ext4 /dev/my_volume_group/logical_volume1
6. 마운트
파일 시스템을 특정 디렉터리에 마운트하여 사용합니다.
1. **마운트 포인트 생성:**
sudo mkdir /mnt/<원하는_마운트_포인트_이름>
예시:
sudo mkdir /mnt/my_lvm_data
2. **마운트:**
sudo mount /dev/<VG_이름>/<LV_이름> /mnt/<생성한_마운트_포인트_이름>
예시:
sudo mount /dev/my_volume_group/logical_volume1 /mnt/my_lvm_data
3. **마운트 확인:**
df -h lsblk
(선택 사항) 부팅 시 자동 마운트 설정
부팅 시 자동으로 마운트되도록 /etc/fstab 파일에 항목을 추가합니다.
1. **LV의 UUID 확인:**
sudo blkid /dev/<VG_이름>/<LV_이름>
출력된 `UUID="..."` 값을 복사합니다.
2. **// /etc/fstab // 파일 편집:**
sudo nano /etc/fstab # 또는 sudo vi /etc/fstab
파일의 마지막에 다음 형식으로 한 줄을 추가합니다.
UUID=<복사한_UUID> /mnt/<생성한_마운트_포인트_이름> <파일시스템_타입> defaults 0 0
- `<파일시스템_타입>`: `xfs` 또는 `ext4` 등 위에서 생성한 파일 시스템 타입
예시 (XFS):
UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" /mnt/my_lvm_data xfs defaults 0 0
3. **fstab 설정 테스트 (재부팅 없이 마운트):** 먼저 마운트 해제 후 (이미 마운트 되어 있다면)
sudo umount /mnt/my_lvm_data
그 다음, fstab 설정으로 마운트
sudo mount -a
오류가 없는지 확인하고 `df -h`로 마운트 상태를 다시 확인합니다.
—
위 단계를 통해 `parted`를 사용하여 새 디스크 /dev/sdb 에 LVM 파티션을 만들고, 이를 기반으로 LVM 볼륨을 구성하여 사용할 수 있습니다. 각 명령어에서 `<VG_이름>`, `<LV_이름>`, 마운트 포인트 등은 실제 환경과 목적에 맞게 적절히 변경하여 사용하시기 바랍니다.