티스토리 뷰
[Linux] LVM 구성 - 신규 LVM 구성
LVM 구성 환경
LVM과 Linux 설치 시 LVM 구성은 "[Linux] LVM (Logical Volume Management) - Linux 설치 시 생성" 포스팅을 참조 부탁드립니다.
본 포스팅은 GCP(Google Cloud Platform)의 CentOS 6.x를 기준으로 포스팅하였습니다.
기존 운영하고 있는 System에 신규 디스크를 추가하여 LVM을 구성할 수 있습니다.
LVM 생성
LVM을 생성할 Disk 추가 후 디스크 정보를 확인합니다.
•fdisk -l 명령어로 디스크 정보를 확인할 수 있습니다.
•새로 설치된 sdb / sdc는 현재 파티션 정보가 없습니다.
$> sudo fdisk -l Disk /dev/sda: 32.2 GB, 32212254720 bytes 255 heads, 63 sectors/track, 3916 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x0003a892 Device Boot Start End Blocks Id System /dev/sda1 * 1 3916 31454246 83 Linux Disk /dev/sdb: 10.7 GB, 10737418240 bytes 64 heads, 32 sectors/track, 10240 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Disk /dev/sdc: 10.7 GB, 10737418240 bytes 64 heads, 32 sectors/track, 10240 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 |
fdisk를 통해 신규로 추가된 Disk를 파티션 합니다.
•sudo fdisk /dev/sdb(장치명)
$> sudo fdisk /dev/sdb # 파티션 할 장치명을 입력합니다. Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x5c960643. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) The device presents a logical sector size that is smaller than the physical sector size. Aligning to a physical sector (or optimal I/O) size boundary is recommended, or performance may be impacted. WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): m # m 입력하여 메뉴를 확인합니다. |
'p'를 입력하여 현재의 파티션 정보를 확인할 수 있습니다.
생성된 파티션이 없는 것을 다시 한번 확인 후 파티션 생성을 진행합니다.
Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): p Disk /dev/sdb: 10.7 GB, 10737418240 bytes 64 heads, 32 sectors/track, 10240 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x5c960643 Device Boot Start End Blocks Id System |
'n'을 입력하면 파티션을 생성할 수 있습니다.
'p'는 파티션의 속성입니다. 주 파티션 또는 확장 파티션 중에 선택할 수 있습니다.
파티션 번호에는 첫번째 파티션을 생성함에 따라 1번을 선택했습니다.
파티션의 크기는 용량으로 나오지 않고 Cylinder의 시작점과 끝점을 선택하게 됩니다.
•Cylinder의 시작점을 1, 끝점을 5000으로 지정할 경우 약 5GB를 파티션 합니다.
•Cylinder의 시작점을 1, 끝점을 10240으로 지정할 경우 10GB를 파티션 합니다.
Command (m for help): n # 파티션을 생성합니다. Command action # 파티션의 속성을 선택합니다. e extended p primary partition (1-4) p Partition number (1-4): 1 # 파티션의 번호를 선택합니다. First cylinder (1-10240, default 1): 1 # Cylinder의 시작점을 선택합니다. Last cylinder, +cylinders or +size{K,M,G} (1-10240, default 10240): 10240 # Cylinder의 끝점을 선택합니다. |
'p'를 입력하여 파티션이 정상적으로 생성되었는지 확인합니다.
Command (m for help): p Disk /dev/sdb: 10.7 GB, 10737418240 bytes 64 heads, 32 sectors/track, 10240 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0xd833bf9d Device Boot Start End Blocks Id System /dev/sdb1 1 10240 10485744 83 Linux |
파티션이 정상적으로 생성되었다면 't'를 입력하여 파티션 System ID를 변경합니다.
Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): t |
'list'를 입력하여 파티션 System ID 리스트를 확인합니다.
Linux LVM을 구성 할 예정이기 때문에 '8e'를 입력합니다.
Hex code (type L to list codes): list 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx 5 Extended 42 SFS 86 NTFS volume set da Non-FS data 6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility 8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt 9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary 16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT 1e Hidden W95 FAT1 Hex code (type L to list codes): 8e |
파티션 System ID가 Linux LVM으로 정상적으로 변경되었으면 'w'를 입력하여 저장합니다.
Changed system type of partition 1 to 8e (Linux LVM) Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partitions system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): w |
'/dev/sdb'에 대한 파티션 정보가 정상적으로 생성되었는지 확인합니다.
'/dev/sdc'도 sdb와 같이 동일하게 파티션을 생성합니다.
$> sudo fdisk -l Disk /dev/sda: 32.2 GB, 32212254720 bytes 255 heads, 63 sectors/track, 3916 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x0003a892 Device Boot Start End Blocks Id System /dev/sda1 * 1 3916 31454246 83 Linux Disk /dev/sdb: 10.7 GB, 10737418240 bytes 64 heads, 32 sectors/track, 10240 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0xd833bf9d Device Boot Start End Blocks Id System /dev/sdb1 1 10240 10485744 8e Linux LVM Disk /dev/sdc: 10.7 GB, 10737418240 bytes 64 heads, 32 sectors/track, 10240 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0xc6a84646 Device Boot Start End Blocks Id System /dev/sdc1 1 10240 10485744 8e Linux LVM |
LVM으로 구성할 신규 Disk의 파티션 설정이 완료 되었다면 Physical Volumes을 생성합니다.
•pvcreate /dev/장치명
$> pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created $> pvcreate /dev/sdc1 Physical volume "/dev/sdc1" successfully created |
$> sudo pvdisplay --- Physical volume --- PV Name /dev/sdb1 VG Name vg001 PV Size 10.00 GiB / not usable 3.98 MiB Allocatable yes PE Size 4.00 MiB Total PE 2559 Free PE 2559 Allocated PE 0 PV UUID tIgIGn-Uxzs-mpFl-jk3e-cGhc-c7pC-NZef9X --- Physical volume --- PV Name /dev/sdc1 VG Name vg001 PV Size 10.00 GiB / not usable 3.98 MiB Allocatable yes PE Size 4.00 MiB Total PE 2559 Free PE 2559 Allocated PE 0 PV UUID 5g3syX-Nudm-96ib-oSco-Ghdh-Ajfk-mf8iBT |
Physical Volumes 생성을 완료하였다면 Volume Groups을 생성합니다.
•vgcreate [볼륨이름] [볼륨에 포함될 장치명]
$> sudo vgcreate vg001 /dev/sdb1 /dev/sdc1 Volume group "vg001" successfully created |
$> sudo vgdisplay --- Volume group --- VG Name vg001 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 19.99 GiB PE Size 4.00 MiB Total PE 5118 Alloc PE / Size 0 / 0 Free PE / Size 5118 / 19.99 GiB VG UUID fWzKCY-bQGC-Wd6z-n4eD-tpsy-A5wA-1Rglhm |
Volumes Groups 생성을 완료하였다면 Logical Volumes을 생성합니다.
•lvcreate -L [LV 크기 지정] -n [LV 이름 지정] [ LV가 생성될 VG ]
•-L 옵션은 LV의 크기를 지정하는 옵션입니다. [ k, m, g, t ]를 사용가능합니다.
•-n 옵션은 LV의 이름을 지정하는 옵션입니다.
$> sudo lvcreate -L 19g -n lv001 vg001 Logical volume "lv001" created. |
$> sudo lvdisplay --- Logical volume --- LV Path /dev/vg001/lv001 LV Name lv001 VG Name vg001 LV UUID xC5Vgy-LMFJ-4ddL-FE31-zYoz-w7Oh-fXHf6R LV Write Access read/write LV Creation host, time test, 2017-11-14 03:46:42 +0000 LV Status available # open 0 LV Size 19.00 GiB Current LE 4864 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 |
Logical Volumes 생성을 완료하였다면 fdisk로 생성된 Logical Volumes을 확인합니다.
$> fdisk -l Disk /dev/mapper/vg001-lv001: 20.4 GB, 20401094656 bytes 255 heads, 63 sectors/track, 2480 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 |
생성된 Logical Volumes을 포맷합니다.
•mkfs.ext4 [ 장치명 ]
•포맷 방식은 ext3, ext4, xfs 등 원하는 File System으로 포맷 할 수 있습니다.
$> sudo mkfs.ext4 /dev/vg001/lv001 mke2fs 1.41.12 (17-May-2010) Discarding device blocks: done Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=1 blocks, Stripe width=0 blocks 1245184 inodes, 4980736 blocks 249036 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 152 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 35 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. |
LVM Mount
Logical Volumes에 대한 File System 포맷이 완료되었다면 디렉토리를 생성하여 LV를 Mount 합니다.
$> sudo mkdir /data # LV를 Mount할 디렉토리를 생성합니다. $> sudo chmod 755 /data # 디렉토리에 권한을 부여합니다. $> mount /dev/vg001/lv001 /data # 생성된 디렉토리에 LV를 Mount합니다. |
LV가 디렉토리에 정상적으로 Mount 되었는지 확인합니다.
•df -l
$> sudo df -l Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 30829600 1335300 27921896 5% / tmpfs 1832288 0 1832288 0% /dev/shm /dev/mapper/vg001-lv001 19479228 44992 18438092 1% /data |
LVM 부팅 시 자동 Mount
생성된 LVM을 부팅시에 자동으로 Mount 하려면 "/etc/fstab"에 Mount 정보를 등록해야 합니다.
$> sudo vi /etc/fstab |
[ 장치명 ] / [ 마운트 위치 ] / [ 파일시스템 ] / [ defaults] / [ 0 ] / [ 0 ] 로 설정합니다.
Fstab에 대한 자세한 사항은 추후 포스팅 할 수 있도록 하겠습니다.
## /etc/fstab # Created by anaconda on Wed Oct 25 19:09:59 2017 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=5a421796-b7f0-4b1e-8a35-706b49dff68d / ext4 defaults,barrier=1 1 1 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 dev/vg001/lv001 /data ext4 defaults 0 0 ~ |
시스템 재부팅 후 아래와 같이 정상적으로 마운트 되어 있다면 LVM 구성이 완료된 것입니다.
$> df -l Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 30829600 1423568 27833628 5% / tmpfs 1832288 0 1832288 0% /dev/shm /dev/mapper/vg001-lv001 19479228 44992 18438092 1% /data |
'[Server Story] > Linux' 카테고리의 다른 글
[CentOS] Linux 반복 예약작업(스케줄러) - Crontab (1) | 2018.05.28 |
---|---|
[Linux] LVM 구성 - 디스크 추가 LVM 구성 (3) | 2017.11.14 |
[Linux] LVM 구성 - Linux 설치 시 생성 (0) | 2017.11.14 |
[CentOS] THP(Transparent Huge Pages) 란? (1) | 2017.11.07 |
[CentOS] Single Mode(싱글모드) Booting (0) | 2017.11.03 |
Comments
최근에 올라온 글