LVM
(어제 이어서)
LVM Stripe 방식=>
IO가 분산되서 성능이 좋아짐
안전성은 떨어짐
* 팁
디스크 추가 후
# partprob => 새로운 장치 인식 명령어
* 데이터생성
# dd if=/dev/zero of=/stripelv/file1 bs=1M count=150
LVM mirror 방식=>
복제 (reflact) 방식이기 때문에 안정성은 좋지만
디스크 효율이 떨어짐
일반적으로 2 way mirroring system으로 사용.
점검할때
ls -l /dev/sd?
fdisk -l | grep LVM
-LVM 종합 실습-
(ㄱ) 디스크 준비
/dev/sdc1(1G), /dev/sdd1(1G), /dev/sde1(1G), /dev/sdf1(1G), /dev/sdg1(1G), /dev/sdh1(1G)
(ㄴ) 생성과정
PV(pvcreate) -> VG(vgcreate) -> LV(lvcreate) -> F/S(mkfs.ext3) -> Mount(mount,/etc/fstab)
(ㄷ) 작업 시나리오
VG1(/dev/sdc1, /dev/sdd1, /dev/sde1)
LV1(1.5G) ----> /lvm1 (마운트 포인터)
LV2(1.5G) ----> /lvm2 (마운트 포인터)
VG2(/dev/sdf1, /dev/sdg1)
LV3(1G) ----> /lvm3 (마운트 포인터)
LV4(1G) ----> /lvm4 (마운트 포인터)
VG2에 /dev/sdh1디스크 추가(vgextend, lvextend, resize2fs)
LV4(/lvm4) 용량(EX:1G) 모두 할당
reboot 후에 확인
(ㄹ) 삭제
언마운트(umount, /etc/fstab) -> LV 삭제(lvremove) -> VG 삭제(vgremove) -> PV 삭제(pvremove)
(ㅁ) 참고
# pvscan (# pvs)
# vgscan (# vgs)
# lvscan (# lvs)
# pvdisplay
# vgdisplay
# lvdisplay
---------------------------------- 작업 과정 ---------------------------------------
(선수작업)VMWare > VM > CD-ROM > "CD" 사용하지 않도록 작업(마운트 되지 않도록)
(1) 디스크 준비
- 각 DISK를 PV로 생성한다.
# fdisk /dev/sdc (/de/sdc1(System ID : 8e))
# fdisk /dev/sdd (/de/sdd1(System ID : 8e))
# fdisk /dev/sde (/de/sde1(System ID : 8e))
# fdisk /dev/sdf (/de/sdf1(System ID : 8e))
# fdisk /dev/sdg (/de/sdg1(System ID : 8e))
# fdisk /dev/sdh (/de/sdh1(System ID : 8e))
# fdisk -l | grep LVM
(2) PV 생성
# pvcreate /dev/sdc1(# pvcreate /dev/sd[cdefgh]1)
# pvcreate /dev/sdd1
# pvcreate /dev/sde1
# pvcreate /dev/sdf1
# pvcreate /dev/sdg1
# pvcreate /dev/sdh1
# pvscan
# pvdispl
# pvs
(3) VG 생성
# vgcreate VG1 /dev/sdc1 /dev/sdd1 /dev/sde1(# vgcreate VG1 /dev/sd[cde]1)
# vgcreate VG2 /dev/sdf1 /dev/sdg1 (# vgcreate VG2 /dev/sd[fg]1)
# vgscan
# vgdisplay
# vgs
# pvs
(4) LV 생성 및 확장, 용량 추가
ㄱ) 기본작업
# lvcreate -L 1500M -n lvm1 VG1(# lvcreate -L 1.5G -n lvm1 VG1)
# lvcreate -L 1500M -n lvm2 VG1(# lvcreate -l 100%FREE -n LV2 VG1)
# lvcreate -L 1000M -n lvm3 VG2 (# lvcreate -L 1G -lvm3 VG2)
# lvcreate -L 1000M -n lvm4 VG2 (# lvcreate -l 100%FREE -n lvm4 VG2)
ㄴ) 사용하지 않고 남아있는 디스크(h)의 용량을 VG2/lvm4에 추가해 용량 늘리는 작업
# vgextend VG2 /dev/sdh1 => VG2 확장
# lvextend -L +1000M /dev/VG2/lvm4 (# lvextend -l +100%FREE /dev/VG2/lvm4) => LV 확장
# resize2fs /dev/VG2/lvm4 => 용량 추가 후 적용을 위한 리사이즈 작업
# lvscan
# lvdisplay
# lvs
(5) 파일시스템 작업
# mkfs.ext4 /dev/VG1/lvm1
# mkfs.ext4 /dev/VG1/lvm2
# mkfs.ext4 /dev/VG2/lvm3
# mkfs.ext4 /dev/VG2/lvm4
# tune2fs -l /dev/VG1/LV1 (안해도 됨)
(6) 마운트 작업
# mkdir -p /lvm1 /lvm2 /lvm3 /lvm4 : 마운트 포인터 만들어 주고
# mount -a : 전체 마운트 시키기
# mount /dev/VG1/LV1 /lvm1 : 하나씩 할땐 이런방법으로
# mount /dev/VG1/LV2 /lvm2
# mount /dev/VG2/LV3 /lvm3
# mount /dev/VG2/LV4 /lvm4
# vi /etc/fstab : 부팅 시스템에 등록
/dev/VG1/lvm1 /lvm1 ext3 defaults 1 2 /dev/VG1/lvm2 /lvm2 ext3 defaults 1 2 /dev/VG2/lvm3 /lvm3 ext3 defaults 1 2 /dev/VG2/lvm4 /lvm4 ext3 defaults 1 2 |
# df -h(# mount 여부 확인)
(7) 재부팅
# init 6 (# reboot)
부팅 이후에 확인
# df -h
(8) 삭제 작업
# umount /lvm1
# umount /lvm2
# umount /lvm3
# umount /lvm4
# vi /etc/fstab
# df -h
# lvremove /dev/VG1/LV1 (# lvremove /dev/VG[12]/LV[12])
# lvremove /dev/VG1/LV2
# lvremove /dev/VG2/LV3
# lvremove /dev/VG2/LV4
# lvscan
# vgremove VG1 (# vgremove VG[12])
# vgremove VG2
# vgscan
# pvremove /dev/sdc1 (# pvremove /dev/sd[cdefgh]1)
# pvremove /dev/sdd1
# pvremove /dev/sde1
# pvremove /dev/sdf1
# pvremove /dev/sdg1
# pvremove /dev/sdh1
# pvscan
[참고] pvremove 명령어로 삭제 했지만 pvscan 결과에 표시가 나는 경우
# dd if=/dev/zero of=/dev/sdc1 bs=512 count=2
# pvscan
RAID
*레이드 개념 알기
운영체제 사용하기 좋다.
데이터들은 스토리지에서 끌어와 쓰는게 좋다.
실습
(ㄱ) 디스크 준비
/dev/sdc1(1G), /dev/sdd1(1G), /dev/sde1(1G), /dev/sdf1(1G),
/dev/sdg1(1G), /dev/sdh1(1G), /dev/sdi1(1G)
(ㄴ) RAID 구현 절차
RAID 구성(mdadm --create) -> F/S(mkfs.ext3) -> Mount(mount,/etc/fstab)
/etc/mdadm.conf
(ㄷ) 작업 시나리오
RAID 0 (/dev/md0) - /dev/sdc1, /dev/sdd1 => /raid0
RAID 1 (/dev/md1) - /dev/sde1, /dev/sdf1 => /raid1
RAID 5 (/dev/md5) - /dev/sdg1, /dev/sdh1, /dev/sdi1 => /raid5
# timedd if=/dev/zero of=/test/file1 bs=500M count=1
# timedd if=/dev/zero of=/raid0/file1 bs=500M count=1
# timedd if=/dev/zero of=/raid1/file1 bs=500M count=1
# time dd if=/dev/zero of=/raid5/file1 bs=500M count=1
(ㄹ) RAID 삭제
Umount(umount, /etc/fstab) -> RAID 구성 삭제(mdadm --stop)
/etc/mdadm.conf
(ㅁ) 참고
# cat /proc/mdstat
# mdadm --detail /dev/md0
# ls -l /etc/mdadm.conf
--------------------------------- 작업 과정 ------------------------------------
(ㄱ) 디스크 준비
# systemctl list-unit-files | grep systemd-udev
# poweroff
새로운 디스크 장착(EX: /dev/sdi)
Power ON
# ls -l /dev/sd? (# fdisk -l | grep 'Disk /dev')
system ID fd(raid)로 변경시키기
# fdisk /dev/sdc
# fdisk /dev/sdd
# fdisk /dev/sde
# fdisk /dev/sdf
# fdisk /dev/sdg
# fdisk /dev/sdh
# fdisk /dev/sdi
# fdisk -l | grep raid (# fdisk –l /dev/sd? | grep raid) => 확인작업
(ㄴ) RAID 구성 작업
# mdadm --create /dev/md0--level=0--raid-device=2/dev/sdc1 /dev/sdd1
# mdadm --create /dev/md1--level=1--raid-device=2/dev/sde1 /dev/sdf1
# mdadm --create /dev/md5--level=5 --raid-device=3 /dev/sdg1 /dev/sdh1 /dev/sdi1
#cat /proc/mdstat (# watch cat /proc/mdstat) => 확인작업
# mdadm —detail —scan
# mdadm --detail --scan > /etc/mdadm.conf
# cat /etc/mdadm.conf => 확인작업
* 왜 저장하는가?
mdadm 커맨드의 설정파일이 mdadm.conf 인데
부팅시 레이드 정보가 올라와야 안에 설정파일이 읽혀지기 때문.
처음에는 설정이 안되어있기 때문에 따로 만들어 줘야한다.
Software Raid 방식
(ㄷ) 파일시스템 작업
# mkfs.ext4 /dev/md0
# mkfs.ext4 /dev/md1
# mkfs.ext4 /dev/md5
# tune2fs –l /dev/md0
# tune2fs –l /dev/md1
# tune2fs -l /dev/md5
(ㄹ) 마운트 작업
# mkdir -p /raid0 /raid1 /raid5
# vi /etc/fstab (부팅할때 활성화 되도록 등록)
*들어가면
/dev/md0 /raid0 ext4 defaults 1 2
/dev/md1 /raid1 ext4 defaults 1 2
/dev/md5 /raid5 ext4 defaults 1 2
# mount –a 아니면 하나씩
# mount /raid0
# mount /raid1
# mount /raid5
# df -h
(ㅁ) 파일생성 테스트
# timedd if=/dev/zero of=/test/file1 bs=500M count=1 (0m5.689s:0m7.838s:0m6.675s:0m6.572s
# time dd if=/dev/zero of=/raid0/file1 bs=500M count=1 (0m3.325s:0m5.658s:0m8.190s:0m6.631s
# timedd if=/dev/zero of=/raid1/file1 bs=500M count=1 (0m2.314s:0m6.844s:0m9.022s:0m7.101s
# timedd if=/dev/zero of=/raid5/file1 bs=500M count=1 (0m1.925s:0m1.982s:0m7.252s:0m3.982s
(ㅂ) RAID 삭제
# df –h –T 먼저 확인
# umount /raid0
# umount /raid1
# umount /raid5
# vi /etc/fstab
# df -h
# mdadm --stop /dev/md0
# mdadm --stop /dev/md1
# mdadm --stop /dev/md5
# cat /proc/mdstat
# mdadm --remove /dev/md0
# mdadm --remove /dev/md1
# mdadm --remove /dev/md5
# mdadm —zero-superblock /dev/sd[cdefghi]1 > 한번에 지우는법
# mdadm --zero-superblock /dev/sdc1 /dev/sdd1 하나씩 지우는 법
# mdadm --zero-superblock /dev/sde1 /dev/sdf1
# mdadm --zero-superblock /dev/sdg1 /dev/sdh1 /dev/sdi1
# rm -f /etc/mdadm.c
onf
# ls -l /etc/mdadm.conf
5. SWAP
자주하는 작업은 아니지만
개념은 알고 있어야 한다.
* SWAP?
* SWAP Issue?
* SWAP 언제 추가해야 하는가?
* SWAP 추가한다면 얼만큼 추가해야 하는가?
* SWAP 추가하면 성능이 좋아지는가?
* SWAP 관리
SWAP File 추가/삭제
# mkdir -p /swap ; dd if=/dev/zero of=/swap/swapfile bs=1M count=10240
# mkswap /swap/swapfile
# swapon /swap/swapfile
# vi /etc/fstab
# swapoff /swap/swapfile
# vi /etc/fstab
# rm -f /swap/swapfile
SWAP Partition 추가/삭제
# fdisk /dev/sdb
# mkswap /dev/sdb1 (/dev/sdb1(82))
# swapon /dev/sdb1
# vi /etc/fstab
# swapoff /dev/sdb1
# vi /etc/fstab
6. Software 관리
rpm CMD
# rpm -ivh|Fvh|Uvh [--nodeps] [--force] PKG.rpm
# rpm -qa | grep bash
# rpm -qi bash
# rpm -ql bash
# rpm -qf /bin/bash
# rpm -qi -p PKG.rpm
# rpm -e [--nodeps] PKG
[참고] rpm 구할수 있는 곳
1) Linux CD
2) 인터넷(fedoraproject)
# yum install epel-release
# yum install ntfs-3g
3) 인터넷(rpmfind.net, pbone.net)
4) 개발자
yum CMD
source 관리
'정보보안공부 > 정보보안전문과정' 카테고리의 다른 글
모의해킹 침해대응 정보보안 전문가 양성과정 Day12 (0) | 2020.09.17 |
---|---|
모의해킹 침해대응 정보보안 전문가 양성과정 Day11 (0) | 2020.09.16 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day9 (0) | 2020.09.15 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day8 (0) | 2020.09.11 |
모의해킹 침해대응 정보보안 전문가 양성과정 Day7 (0) | 2020.09.11 |