p563
여러개의 하드디스크를 하나의 하드디스크로 합칠 수 있고
2개의 하드디스크를 3개의 하드디스크처럼 사용할 수 있도록
유연하게 디스크 용량을 관리할 수 있는 도구
LV(Logical Volume) > LE(Logical Extent), VG(Volume Group) > PV(Physical Volume) > PE(Physical Extent)
PE(4MB) = LE(4MB)
p574
pvcreate /dev/sdb1 /sdev/sdc1
vgcreate 4glvg /dev/sdb1 /dev/sdc1
lvcreate -L 50G -n 4gllv1 4glvg
만들고 확인
lv 장치의 경로 /dev/4glvg/4gllv1
ll /dev/4glvg/4gllv1
심볼릭 링크라는걸 알 수 있음(민트색 표시)
진짜 파일은 /dev/dm-0이 진짜 원본 파일임
b로 시작하는것은 block
lv까지 생성 후 lv를 일반 파티션처럼 포맷, 마운트하여 사용
mkdir /lv1
mkfs.xfs /dev/4glvg/4gllv1
mount /dev/4glvg/4gllv1 /lv1vi /etc/fstab
- /dev/4glvg/4gllv1 /lv1 xfs defaults 0 0
reboot
vgdisplay
free pe /size가 23038 즉 89G 정도 된다는걸 알 수 있음
lvcreate -l 10000 -n 4gllv2 4glvg
50G 정도 남은것으로 알 수 있음
즉 -l 10000 으로 PE 10000은 대략 40G 정도 된다는것을 알 수 있음(PE는 1개에 4MB)
그렇다면 용량을 설정하지 않고 남은 용량을 모두 사용하는 명령어
lvcreate --extents 100%FREE -n 4gllv3 4glvg
➡ 4gllv3는 내가 만들 lv 이름이며 4glvg(원본)에서 나누겠다는 뜻
lvcreate --extents 10%VG -n 4gllc4 4glvg
➡ FREE대신 VG를 쓰면 VG 전체 용량의 10%만 사용하겠다는 의미로 사용할 수 있음
남은 용량이 없음. 즉 남은 용량 모두 사용하는것에 성공함.
LVM을 삭제하기 위해서는 생성 방법의 역순으로 삭제해나가야함
umount /dev/4glvg/4gllv2
lvremove /dev/4glvg/4gllv2
lvdisplay를 통해 4gllv1, 4gllv3만 남은것으로 보아 4gllv2가 삭제된것을 알 수 있음
fdisk /dev/sdd
n
t - 8e
w
pvcreate /dev/sdd1
vgextend 4glvg /dev/sdd1
확장 적용되었는지 확인
vgdisplay -v
lsblk (마운트 확인)
umount /dev/4glvg/4gllv1
lvextend --size +50G /dev/4glvg/4gllv1
용량을 추가하는 것이기에 +를 꼭 붙여야함
vgdisplay를 사용해 용량 늘어난것을 확인
fsadm - file system admin
xfs 포맷이 된 lv일 경우 : fsadm resize /dev/4glvg/4gllv1
ext4 포맷이 된 lv일 경우 : resize2fs /dev/4glvg/4gllv1
내가 실습에서 xfs로 포맷을 했기에 fsadm 명령어를 사용하여 크기를 늘림
mount /dev/4glvg/4gllv1 /lv1
df -hT를 사용해 파일 형식과 실제 사용량 등을 상세히 확인
/etc/fstab은 이미 수정된 /lv1으로 자동마운트 설정이 되어있기에 꼭 바로 마운트하지 않고 reboot 하여도 됨
p784
sudo - 일반 사용자가 root의 권한을 사용할 수 있는 명령어
su - rocky
(다른 사용자 계정으로 접근할 수 있는 명령어)
dnf -y install mdadm
- 일반 사용자는 권한 없이 함부로 프로그램을 설치할 수 없음
일반 사용자로 프로그램을 다운로드 할 때는 root 권한을 사용할 수 있는 sudo를 사용해야함sudo dnf -y install mdadm
- rocky 계정의 암호를 입력하여 사용자 인증을 한 후에 다운로드가 가능함
새로운 유저 생성
useradd user1
visudo 편집
user1 ALL=(ALL) NOPASSWD: ALL
sudo 명령어를 쓰면 비밀번호를 항상 입력해야 하는 번거로움이 있어서
비밀번호를 입력하지 않고 sudo를 실행할 수 있게 하는 설정임
Server B를 초기화 한 후 작업하시오.
0. 모든 작업은 반드시 root 계정으로 직접 작업하지 않고 sudo 권한을 부여한 일반 계정으로 작업하시오.
useradd user1
passwd user1
1234visudo
- user1 ALL=(ALL) ALL NOPASSWD: ALL
su - user1
1. 민감한 데이터 보관을 위해 마운트 포인트를 만들고자 한다. 적절한 디스크 갯수를 추가하여 RAID 1+6을 구성하고 /securedata 디렉터리에 자동 마운트까지 완료할 수 있도록 하시오.
RAID 1+6을 구성하는 최소 디스크 갯수는 8개임
트리구조로 생각했을 때 raid 6을 구성하기 위해서는 4개의 디스크가 필요하고
raid 6을 구성하기 위한 각각의 디스크는 raid 1 즉 최소 2개의 디스크가 필요함
때문에 최소 8개의 디스크가 필요함
sudo fdisk /dev/sdb ~ /dev/sdi
n
t - fd
fdisk -l | grep raid
server b에는 mdadm 커맨드가 없으므로 설치 필수
dnf -y install mdadm
sudo mdadm -C /dev/md1 -l 1 -n 2 /dev/sdb1 /dev/sdc1
sudo mdadm -C /dev/md2 -l 1 -n 2 /dev/sdd1 /dev/sde1
sudo mdadm -C /dev/md3 -l 1 -n 2 /dev/sdf1 /dev/sdg1
sudo mdadm -C /dev/md4 -l 1 -n 2 /dev/sdh1 /dev/sdi1sudo mdadm -C /dev/md5 -l 6 -n 4 /dev/md1 /dev/md2 /dev/md3 /dev/md4
sudo mkfs.xfs /dev/md5
mkdir /securedata
sudo vi /etc/fstab
- /dev/md5 /securedata xfs defaults 0 0
reboot
2. 유연한 데이터 보관 장소를 만들기 위해 LVM을 사용하고자 한다. 2개의 디스크를 더 추가하고 2개의 pv를 한 개의 vg로 만드시오. 이후 다음 조건에 따라 lv를 생성하시오.
- 25G의 lv1
- 40G의 lv2
디스크 2개 생성 (두 디스크의 크기의 합이 65G 이상으로 생성)
파티션 생성
- sudo fdisk /dev/sdk, /dev/sdj
n
t - 8e이때 lvm 관련 커맨드가 없으므로 lvm2 패키지를 설치해야함
- sudo dnf -y install lvm2
- pv 생성
- sudo pvcreate /dev/sdk1
- sudo pvcreate /dev/sdj1
- vg 생성
- sudo vgcreate vg1 /dev/sdk1 /dev/sdj1
- lv 생성
- sudo lvcreate -L 25G -n lv1 vg1
(만약 전체 용량을 65G로 생성하였을 경우 --extents 100%FREE 사용 가능)
sudo lvcreate --extents 100%FREE -n lv2 vg1
- 포맷
- sudo mkfs.xfs /dev/vg1/lv1
sudo mkfs.xfs /dev/vg1/lv2
- 마운트
- sudo mkdir /LV1
sudo mkdir /LV2
sudo mount /dev/vg1/lv1 /LV1
sudo mount /dev/vg1/lv2 /LV2
- fstab 편집
- sudo vi /etc/fstab
/dev/vg1/lv1 /LV1 xfs defaults 0 0
/dev/vg1/lv2 /LV2 xfs defaults 0 0
- 재부팅
- sudo reboot
2.1 추가적인 용량이 필요할 것으로 판단하여 현재의 vg에 50G pv 한 개를 추가하여 확장하시오.
물리 디스크 50G 추가
번호가 뒤로 밀리는것을 알 수 있음
새로운 디스크 파티션 생성
- sudo fdisk /dev/sdj
n
t - 8e
w
- pv 생성
- pvcreate /dev/sdj1
- vg 확장
- vgextend vg1 /dev/sdj1
- 마운트 해제
- umount /dev/vg1/lv1
umount /dev/vg1/lv2
- lv 확장
- lvextend --size +50G /dev/vg1/lv1
lvextend -L +50G /dev/vg1/lv2
- 파일 시스템 크기 확장
- fsadm resize /dev/vg1/lv1
fsadm resize /dev/vg1/lv2
- 마운트
- mount /dev/vg1/lv1 /LV1
mount /dev/vg1/lv2 /LV2
3. 10G의 lv3 생성 후 용량이 더 필요하다는 시나리오를 통해 50G로 용량 증설
모든 lv는 각각 /lv1, /lv2, /lv3 디렉터리에 자동 마운트까지 완료하시오.