어제 논리볼륨까지는 어찌어찌 만들고 잘 이해를 한 것 같으니(?) 이어서 더 많은 명령어를 연습해보았다. 이건 오래도록 기억해두어야 할 명령어들 같아서 시간내어 벨로그에 기록...!
* 확장 전 파일 시스템 상태 확인
df -h
근데 왜 안보일까... 내가 어제 만든 논리적 볼륨이 안 보인다. 근데... 일단 넘어가자. fdisk
명령어를 통해서는 확인하긴 했다.
sudo fdisk -l
5GB의 /dev/sdd 디스크가 잘 생성된 것을 확인한다!
# PV 변환
sudo pvcreate /dev/sdd
# PV 추가
sudo vgextend vg_data /dev/sdd
성공적으로 추가했다.
sudo lvextend -L +4G /dev/vg_data/lv_storage
메시지를 잘 봐야한다 ^^... 나는 성공한줄 알고 다음 명령어를 친 상황에서 잘못됨을 깨달았다.
엥?! 어제 분명히 잘 만들었는데 왜?! 없다는거지?!
이상하다... 싶을 땐 이름을 확인해보면 된다.
* 논리적 볼륨 확인 명령어
sudo lvdisplay
충격적... 오타났죠? storage를 쓰고 싶었는데... stroage가 되어버렸다... ㅠㅠ
올바른 ^^... 이름으로 다시 명령어를 입력하면 정상적으로 잘 확장되었다는 문구가 출력된다.
논리적 볼륨만 확장하면 끝이 아니었다! 파일 시스템의 크기도 확장시켜 주어야 한다.
sudo e2fsck -f /dev/vg_data/lv_stroage
sudo resize2fs /dev/vg_data/lv_stroage
원래는 resize2fs 명령어를 먼저 쳤다. 하지만 e2fsck를 먼저 하라는 에러? 문구가 떴다.
그래서 하라는대로 한 뒤 resize2fs 명령어를 다시 내리니
올바르게 실행된 것 같다.
* e2fsck
명령어는... 파일 시스템 점검/복구 명령어라고 한다. 대상 파일시스템이 마운트되어 있지 않은 상태에서 실행하라는데...? 어랏...?
sudo fdisk -l
기존 8GB였던 디스크가
12GB가 되었다! 확장을 잘 한 듯 하다. 후후.
sudo mkdir -p /mnt/storage
sudo lvcreate -L 1G -s -n lv_storage_snap /dev/vd_data/lv_stroage
생성되었다는 문구가 뜬 후 확인해보면
요렇게 스냅샷 저장 디스크가 생성되어 있는 것을 확인할 수 있다.
# 기존 디스크 언마운트
sudo umount /mnt/storage
# 스냅샷을 통해서 데이터 복구
sudo lvconvert --merge /dev/vg_data/lv_storage_snap
# 복구된 데이터로 다시 마운트
sudo mount /dev/vg_data/lv_storage /mnt/storage
ls /mnt/storage
흠... not mounted 이거 맞나? 근데 일단 넘어갈게요...
sudo mkdir -p /mnt/backup
sudo rsync -av /mnt/storage /mnt/backup
sudo umount /mnt/storage
불안하게... 이건 왜 아래 뭐가 안 뜨지? 아까는 마운트가 제대로 안 됐던 것일까?...
# 점검하는 것 같음
sudo e2fsck -f /dev/vg_data/lv_stroage
# 파일 크기 축소
sudo resize2fs /dev/vg_data/lv_stroage 6G
sudo lvreduce -L 6G /dev/vg_data/lv_stroage
이 명령어는 데이터 손상의 우려가 있다 보니 "정말 원하니?" 라며 묻는다. 평소 하던대로 최소한의 책임만 지고 싶기 때문에 ^^ Y라고 안 쓰고 걍 엔터를 눌렀지만 넘어가지 않는다. 명확한 의사표현을 해주자... 그러면 크기가 조정된다.
# 마운트 명령
sudo mount /dev/vg_data/lv_stroage /mnt/storage
# 복원
sudo rsync -av /mnt/backup /mnt/storage
무사히 복원을 마치고 나면 용량이 잘 줄어들었나 확인해준다.
잘 줄어들었다!
df
명령어로도 잘 확인.
lv_stroage... 틀린걸 알았지만 이미 돌이킬 수 없어... 변경 명령어야 있겠지만 시간적 여유가 없기 때문에 킹받음을 감수하고 과감히 패스.
그리고 어제는 LVM 자체를 이해하느라 시간을 많이 쏟았다면, 오늘은 파일시스템과의 연관성(?)을 생각하며 시간을 보냈다. 볼륨 크기, 용량만 신경 쓰면 끝이 아니었다. 계속해서 파일시스템이 같이 움직여야 했다. 이 점을 무척 신경을 써주어야 하는 것 같다. 용량만 있다고 끝~ 이 아니라, 파일 시스템을 생성하고 용량 관리를 해주어야 편하게 사용할 수 있다.
좋은 실습이었다... 후... 불태웠어.
본 포스팅은 글로벌소프트웨어캠퍼스와 교보DTS가 함께 진행하는 챌린지입니다
정말 열심히 하시네요! 대단하십니다..