Linux Server 리눅스왕초보실무를익혀라! 리눅스서버 20 fedora 김영훈ㆍ정거룡지음
190page 디스크관리 Chapter 5.1 새하드디스크추가 5.2 LVM(Logical Volume Management) 5.4 디스크쿼터 (Quota)
5.1 새하드디스크추가 실습전가상컴퓨터백업 5 장에서전용으로사용할가상컴퓨터필요 교재 30 페이지참조 3
5.1 새하드디스크추가 < 실습 > 5 1 기존시스템에새하드디스크추가하기 기존시스템환경확인 4
5.1 새하드디스크추가 SCSI 방식 10G 용량의하드디스크추가 5
5.1 새하드디스크추가 디스크타입은 SCSI 선택 새로운하드디스크생성을위해 Create a new virtual disk 선택 6
5.1 새하드디스크추가 하드디스크의용량 10G 로설정 생성될 Disk 파일명을 Fedora20_HDD2.vmdk 로지정 7
5.1 새하드디스크추가 작업순서 fdisk : 파티션설정 mkfs : 파일시스템생성 mount : 파일시스템마운트 fstab 파일에시스템이리부팅된이후에도파일시스템을인식하도록설정 8
5.1 새하드디스크추가 파티션설정 fdisk /dev/sdb Command : n ( 새로운파티션추가 ) Partition Type : P (Primary Partition 선택 ) Partition number (1-4) : 1 파티션번호선택. ( 최대 4 개까지생성가능 ) First sector : 시작섹터번호입력.( 자동설정되도록 enter 입력 ) Last sector : 마지막섹터번호입력.( 자동설정되도록 enter 입력 ) Command : p ( 설정한파티션테이블확인 ) Command : w ( 설정한내용을디스크에기록하고 fdisk 빠져나오기 ) 9
5.1 새하드디스크추가 생성한파티션확인 10
5.1 새하드디스크추가 파일시스템생성 11
5.1 새하드디스크추가 mount /dev/sdb1 /newdisk /dev/sdb1 파티션을 /newdisk 디렉토리에마운트 12
5.1 새하드디스크추가 fstab 파일에시스템변경사항추가 리부팅후에도계속적인적용 vi /etc/fstab /dev/sdb1 /newdisk ext4 defaults 1 1 추가 13
5.1 새하드디스크추가 변경사항확인 init 6 : 서버재시작 mount : 마운트내용출력 ls /newdisk : /dev/sdb1 파티션이마운트되었는지디렉토리내용확인 14
5.2 LVM (Logical Volume Management) < 실습 > 5 2 LVM 으로하드디스크추가하기 5G HDD 2 개, 20G HDD 1 추가 파일명 : Fedora20_LVM1_5G.vmdk, Fedora20_LVM2_5G.vmdk, Fedora20_LVM3_20G.vmdk 으로지정 15
5.2 LVM (Logical Volume Management) LVM 설정 3 개의새로추가한하드디스크를 1 개의하드디스크를추가한것처럼설정 작업순서 fdisk : 새로장착한하드디스크파티션설정하기 pvcreate : 물리볼륨 (PV:Physical Volume) 생성 vgcreate : 볼륨그룹 (VG:Volume Group) 생성 lvcreate : LVM 파티션생성 mkfs : 파일시스템생성 mount: 파일시스템마운트 fstab 에등록. 새로추가한하드디스크인식확인 16
5.2 LVM (Logical Volume Management) fdisk /dev/sdc, fdisk /dev/sdd, fdisk /dev/sde : 각하드디스크에파티션설정. fdisk /dev/sdc Command : n ( 새로운파티션추가 ) Partition Type : P (Primary Partition 선택 ) Partition number (1-4) : 1 파티션번호선택. ( 최대 4 개까지생성가능 ) First sector : 시작섹터번호입력.( 자동설정되도록 enter 입력 ) Last sector : 마지막섹터번호입력.( 자동설정되도록 enter 입력 ) Command : t ( 파일시스템타입을 Hex code 로입력 ) Hex code (type L to list all codes) : L ( 타입목록을확인해보면 8e 가 Linux LVM 임을알수있다.) Hex code (type L to list all codes) : 8e (Linux LVM 타입을선택 ) Command : p ( 설정한파티션테이블확인 ) Command : w ( 설정한내용을디스크에기록하고 fdisk 빠져나오기 ) 17
5.2 LVM (Logical Volume Management) 18
5.2 LVM (Logical Volume Management) 동일한방법으로 /dev/sdd 설정 19
5.2 LVM (Logical Volume Management) 동일한방법으로 /dev/sde 설정 20
5.2 LVM (Logical Volume Management) 파티션설정확인 물리볼륨 (PV:Physical Volume) 생성 21
5.2 LVM (Logical Volume Management) 볼륨그룹 (VG : Volume Group) 생성 생성한 PV( 물리볼륨 ) /dev/sdc1, /dev/sdd1, /dev/sde1 3 개를하나의볼륨그룹 (VG) 으로생성 22
5.2 LVM (Logical Volume Management) vgcreate newvg /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdc1, /dev/sdd1, /dev/sde1 을합쳐서 newvg 라는이름으로볼륨그룹생성 vgdisplay v newvg 볼륨그룹의내용출력 23
5.2 LVM (Logical Volume Management) 볼륨그룹 (VG) 을논리볼륨 (Logical Volume) 으로변환 29.98Gb 의용량으로생성 /dev/newvg 아래에 newlv1 의이름으로논리볼륨 (LV) 생성 24
5.2 LVM (Logical Volume Management) 파일시스템생성 25
5.2 LVM (Logical Volume Management) 파일시스템마운트 mkdir /LVMTest 마운트하기위하여새로운디렉토리생성 mount /dev/newvg/newlv1 /LVMTest df k 파일시스템마운트 마운트된상황및사용용량을확인 mount 마운트된현황출력 26
5.2 LVM (Logical Volume Management) 27
5.2 LVM (Logical Volume Management) fstab 에등록 vi /etc/fstab /dev/newvg/newlv1 /LVMTest ext4 defaults 1 1 입력 init 6 : 시스템리부팅 df k mount 28
5.2 LVM (Logical Volume Management) [ 실습과제 1] 지금까지실습하며설정한 LVM 을해제하여본다. 29
RAID(redundant array of inexpensive disk) 30
RAID 0 (stripe) 2 개이상의하드디스크필요 사용하는디스크모두에동시에기록하거나읽는방식으로 read/write 의성능이가장우수 하나라도장애가발생한다면모든데이터소실 31
RAID 1 (mirror) 2개이상짝수개의하드디스크필요 두개의하드디스크에동일한내용저장 총용량의절반사용가능 두개중한개의하드디스크장애시복구가능 32
RAID 5 3개이상의하드디스크필요 parity bit 이용, 비용대비효율성높음 여러개의디스크중하나의디스크에서장애발생시복구 사용가능용량 ( 사용하는하드디스크의개수 1) X 디스크용량 33
RAID 5 장애복구 34
RAID 10(RAID 1+RAID 0) & RAID 01(RAID 0+RAID 1) RAID 10 및 RAID 01 은디스크의 read/write 성능및장애허용성측면모두만족 가장비용이많이발생 RAID 10 과 RAID 01 차이 한개의디스크에서장애가발생하였을경우 RAID 10 의경우장애디스크한개만복구하면되지만, RAID 01 의경우장애가발생한디스크세트를복구해야함 35
RAID 10 과 RAID 01 36
< 실습 > 5 3 RAID 0 구성하기 0.1Gb 디스크 2 개추가 RAID0test_disk1.vmdk, RAID0test_disk2.vmdk 37
작업순서 fdisk : 새로장착한하드디스크파티션설정 mknod : 특수파일생성 (RAID장치파일생성) mdadm : RAID설정 mkfs : 파일시스템생성 mount : 파일시스템마운트 fstab에등록 38
새로장착한하드디스크파티션설정 ls /dev/sd* 추가한디스크확인 (/dev/sdf, /dev/sdg) fdisk /dev/sdf Command : n ( 새로운파티션추가 ) Partition Type : P (primary partition 선택 ) Partition number (1-4) : 1 ( 파티션번호 1) First sector : Enter Last sector : Enter Command : t ( 파일시스템유형선택 ) Hex Code : fd (Linux raid autodetect 유형 ) Command : p ( 설정된내용확인 ) Command : w ( 설정저장 ) 39
fdisk /dev/sdg Command : n ( 새로운파티션추가 ) Partition Type : P (primary partition 선택 ) Partition number (1-4) : 1 ( 파티션번호 1) First sector : Enter Last sector : Enter Command : t ( 파일시스템유형선택 ) Hex Code : fd (Linux raid autodetect 유형 ) Command : p ( 설정된내용확인 ) Command : w ( 설정저장 ) 40
MD 특수파일생성 mknod /dev/md0 b 9 0 b : block device type 9 : md 장치의주 (major) 번호 0 : md장치의부 (minor) 번호 41
RAID 구성 /dev/md0 장치에실제하드디스크 /dev/sdf1, /dev/sdg1 연동 42
md0 장치내용확인 43
mkfs : 파일시스템생성 mkfs.ext4 /dev/md0 ext4 파일시스템으로 /dev/md0 파티션포맷 mount : 파일시스템마운트 mkdir /RAID0TEST mount /dev/md0 /RAID0TEST df -h mount fstab 에등록 vi /etc/fstab /dev/md0 /RAID0TEST ext4 defaults 1 1 init 6 df h mount 44
[ 실습과제 2] RAID 0 환경에서는하나의디스크장애가발생하면데이터가소실된다고하였는데정말그러한지테스트한다. 45
< 실습 > 5 4 RAID 1 구성하기 0.1Gb 디스크 2 개추가 RAID1test_disk1.vmdk, RAID1test_disk2.vmdk 작업순서 fdisk : 새로장착한하드디스크파티션설정 mknod : 특수파일생성 (RAID장치파일생성) mdadm : RAID설정 mkfs : 파일시스템생성 mount : 파일시스템마운트 fstab에등록 46
fdisk : 새로장착한하드디스크파티션설정 ls /dev/sd* 추가한디스크확인 (/dev/sdh, /dev/sdi) fdisk /dev/sdh Command : n ( 새로운파티션추가 ) Partition Type : P (primary partition 선택 ) Partition number (1-4) : 1 ( 파티션번호 1) First sector : Enter Last sector : Enter Command : t ( 파일시스템유형선택 ) Hex Code : fd (Linux raid autodetect 유형 ) Command : p ( 설정된내용확인 ) Command : w ( 설정저장 ) 47
fdisk /dev/sdi Command : n ( 새로운파티션추가 ) Partition Type : P (primary partition 선택 ) Partition number (1-4) : 1 ( 파티션번호 1) First sector : Enter Last sector : Enter Command : t ( 파일시스템유형선택 ) Hex Code : fd (Linux raid autodetect 유형 ) Command : p ( 설정된내용확인 ) Command : w ( 설정저장 ) 48
RAID 장치파일생성 mknod /dev/md1 b 9 1 ls l /dev/md* RAID 구성 /dev/md1 장치에실제하드디스크 /dev/sdh1, /dev/sdi1 연동 명령어입력 mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdh1 /dev/sdi1 (Continue creating array? y) mdadm --query --detail /dev/md1 cat /proc/mdstat mdadm -D /dev/md1 49
mkfs : 파일시스템생성 mkfs.ext4 /dev/md1 : ext4 파일시스템으로 /dev/md1 파티션포맷 mount : 파일시스템마운트 mkdir /RAID1TEST mount /dev/md1 /RAID1TEST df h mount fstab 에등록 vi /etc/fstab /dev/md1 /RAID1TEST ext4 defaults 1 1 init 6 df h mount 50
[ 실습과제 3] RAID 1 환경에서는하나의디스크장애가발생하여도데이터가소실되지않는다고하였는데정말그러한지테스트를하여본다 51
< 실습 > 5 5 RAID 5 구성하기 0.1Gb 하드디스크 3 개추가 RAID5test_disk1.vmdk, RAID5test_disk2.vmdk, RAID5test_disk3.vmdk 작업순서 fdisk : 새로장착한하드디스크파티션설정 mknod : 특수파일생성 (RAID장치파일생성) mdadm : RAID설정 mkfs : 파일시스템생성 mount : 파일시스템마운트 fstab에등록 52
fdisk : 새로장착한하드디스크파티션설정 ls /dev/sd* 추가한디스크확인 (/dev/sdj, /dev/sdk, /dev/sdl) fdisk /dev/sdj : ( n p 1 enter enter t fd p w ) fdisk /dev/sdk : ( n p 1 enter enter t fd p w ) fdisk /dev/sdl : ( n p 1 enter enter t fd p w ) mknod /dev/md5 b 9 5 특수 (special) 파일생성명령어, RAID 장치파일생성 ls -l /dev/md* 53
RAID 구성 /dev/md5 장치에실제하드디스크 /dev/sdj1 과 /dev/sdk1 과 /dev/sdl1 을연동 명령어입력 mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdj1 /dev/sdk1 /dev/sdl1 mdadm --query --detail /dev/md5 cat /proc/mdstat mdadm -D /dev/md5 mkfs : 파일시스템생성 mkfs.ext4 /dev/md5 : ext4 파일시스템으로 /dev/md5 파티션포맷 54
mount : 파일시스템마운트 mkdir /RAID5TEST mount /dev/md5 /RAID5TEST df -h mount fstab 에등록 vi /etc/fstab /dev/md5 /RAID5TEST ext4 defaults 1 1 init 6 df -h mount 55
< 실습 > 5 6 RAID 5 환경에서디스크장애상황확인및복구실습 확인을위한파일생성 56
RAID5 상태확인 57
장애발생 RAID 5 용하드디스크중하나제거 58
RAID5test_disk3.vmdk 제거 59
하드디스크제거후 RAID 상태확인 디스크 1 개가제거되어 Active 중인장치가 2 개뿐임을알려주고있으나여전히 RAID 는동작 60
생성했던파일확인 ls -l /RAID5TEST/ cat /RAID5TEST/raid5test.txt 리부팅후상태확인 init 6 mdadm -D /dev/md5 ls -l /RAID5TEST/ cat /RAID5TEST/raid5test.txt 61
RAID 5 복구 시스템종료후하드디스크추가 디스크파일이름 : RAID5test_disk3_new.vmdk 62
추가된정보확인 파티션을설정및 RAID 5 복구 fdisk /dev/sdl : ( n p 1 enter enter t fd p w ) ls /dev/sd* mdadm /dev/md5 --add /dev/sdl1 새로교체한하드디스크를 RAID 에추가 mdadm -D /dev/md5 63
64
< 실습 > 5 7 RAID 10 구성하기 0.1Gb 하드디스크 4 개추가 RAID10test_disk1.vmdk, RAID10test_disk2.vmdk, RAID10test_disk3.vmdk, RAID10test_disk4.vmdk 작업순서 fdisk : 새로장착한하드디스크파티션설정 mknod : 특수파일생성 (RAID장치파일생성) mdadm : RAID설정 mkfs : 파일시스템생성 mount : 파일시스템마운트 fstab에등록 65
fdisk : 새로장착한하드디스크파티션설정하기 ls /dev/sd* 추가한디스크확인 (/dev/sdm, /dev/sdn, /dev/sdo, /dev/sdp) fdisk /dev/sdm : ( n p 1 enter enter t fd p w ) fdisk /dev/sdn : ( n p 1 enter enter t fd p w ) fdisk /dev/sdo : ( n p 1 enter enter t fd p w ) fdisk /dev/sdp : ( n p 1 enter enter t fd p w ) ls /dev/sd* mknod : RAID 장치파일생성 ls -l /dev/md* mknod /dev/md10 b 9 10 ls -l /dev/md* 66
실제디스크연동 /dev/md10 장치에실제하드디스크 /dev/sdm1, /dev/sdn1, /dev/sdo1, /dev/sdp1 연동 명령어실행 mdadm --create /dev/md10 --level=10 --raid-devices=4 /dev/sdm1 /dev/sdn1 /dev/sdo1 /dev/sdp1 67
68
파일시스템생성 mkfs.ext4 /dev/md10 ext4 파일시스템으로 /dev/md10 파티션포맷 mount : 파일시스템마운트 mkdir /RAID10TEST mount /dev/md10 /RAID10TEST df -h mount fstab 에등록 vi /etc/fstab /dev/md10 /RAID10TEST ext4 defaults 1 1 69
[ 실습과제 4] 디스크 1, 디스크 2, 디스크 3, 디스크 4 이렇게 4 개의하드디스크로 RAID 10 을구성을하였다. 이때동시에 2 개의하드디스크에서장애가발생하였을경우 O 번디스크와 O 번디스크에서장애가발생한경우에는정상적인사용이가능할것이며, O 번디스크와 O 번디스크에서장애가발생한경우에는정상적인사용이불가능할것이다. 해당내용에대하여결과를예측하여보고실습하여보자. 70
5.4 디스크쿼터 (Quota) 디스크쿼터 (Quota) 사용자마다사용할수있는디스크공간을할당 inode 제한 지정한파일개수초과시제한 block 제한 제한된용량을넘으면더이상저장할수없음 71
5.4 디스크쿼터 (Quota) < 실습 > 5 8 Quota 실습 하드디스크추가 Quota_disk.vmdk, 1Gb ls /dev/sd* 필자는 LVM 실습이후 RAID 0 실습전에복사한이미지를사용하였으므로 /dev/sdf 로새로운디스크가추가됨 파티션과파일시스템생성 ( 포맷 ) fdisk /dev/sdf : (n p 1 enter enter p w) mkfs.ext4 /dev/sdf1 디스크마운트 mkdir /NewHome mount /dev/sdf1 /NewHome 72
5.4 디스크쿼터 (Quota) 부팅시자동마운트설정 vi /etc/fstab /dev/sdf1 /NewHome ext4 defaults,usrquota 1 1 usrquota : 사용자별로 quota 설정 grpquota : 그룹별로 quota 설정 계정생성및 quota 옵션적용 useradd d /NewHome/kyh kyh useradd d /NewHome/jgr jgr passwd kyh passwd jgr mount o remount /NewHome quota 옵션적용을위하여리마운트 mount 73
5.4 디스크쿼터 (Quota) mount 명령으로확인 74
5.4 디스크쿼터 (Quota) /NewHome 안에 quota 설정파일생성 75
5.4 디스크쿼터 (Quota) 사용자별로공간할당 명령어실행 edquota u kyh edquota u jgr blocks : 현재사용하고있는디스크용량 inodes : 현재사용하고있는파일개수 soft : 사용자에게부여할최대용량 (blocks) 또는파일개수 (inodes) 할당된용량은유예기간내에서는초과가능 0 은한도를제한하지않은상태 hard : 사용자에게부여할최대용량 (blocks) 또는파일개수 (inodes) hard 에할당된용량은유예기간내에라도초과할수없음 실질적으로사용가능한최대용량또는파일개수 0 은한도를제한하지않은상태 76
5.4 디스크쿼터 (Quota) 할당량부여 kyh 에게 soft 8Mb, hard 10Mb 부여 jgr 에게 soft 48Mb, hard 50Mb 부여 77
5.4 디스크쿼터 (Quota) quotaon /NewHome quota 시작. repquota a quota 내용확인. repquota u /NewHome quota 내용확인. 78
5.4 디스크쿼터 (Quota) 용량증가테스트 su - kyh ls l cp /boot/vmlinuz-3.11.10-301.fc20.i686+pae test1 boot 이미지파일을복사 cp /boot/vmlinuz-3.11.10-301.fc20.i686+pae test2 cp /boot/vmlinuz-3.11.10-301.fc20.i686+pae test3 할당량 10Mb 초과시오류발생 79
5.4 디스크쿼터 (Quota) 디스크사용량조회 80
5.4 디스크쿼터 (Quota) edquota ut 유예기간초기값확인및변경가능 81
5.4 디스크쿼터 (Quota) [ 실습과제 5] 신입사원 10 명이추가로입사하였다. 기존에설정하였던신입사원 kyh 와동일한조건으로 10 명의신입사원에게도 quota 를설정하여주자. 82