달력

112024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
Linux Disk LVM 작업 절차
 
1. LVM 작업 전 Disk Type 변경
+++ 디스크 확인 +++
# fdisk -l
 
Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000f86d
 
   Device Boot      Start         End      Blocks   Id  System
 
Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e8208
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         262     2097152   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             262       13316   104857600   83  Linux
/dev/sda3           13316       14360     8388608   82  Linux swap / Solaris
 
+++ 디스크 나머지 공간 할당 및 Type 변경 +++
# fdisk /dev/sda
 
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): n
Command action
   e   extended
   p   primary partition (1-4)
p
Selected partition 4
First cylinder (14360-243201, default 14360): [Enter]
Using default value 14360
Last cylinder, +cylinders or +size{K,M,G} (14360-243201, default 243201): [Enter]
Using default value 243201
 
Command (m for help): p
 
Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e8208
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         262     2097152   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             262       13316   104857600   83  Linux
/dev/sda3           13316       14360     8388608   82  Linux swap / Solaris
/dev/sda4           14360      243201  1838167648+  83  Linux
-> Linux System Type으로 생성된 파티션은 LVM 파티션으로 변경
 
Command (m for help): t
Partition number (1-4): 4 // 파티션 Number 지정
Hex code (type L to list codes): 8e // 8e가 LVM이며, L로 리스트 확인 가능
Changed system type of partition 4 to 8e (Linux LVM)
 
Command (m for help): p
 
Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000e8208
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         262     2097152   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             262       13316   104857600   83  Linux
/dev/sda3           13316       14360     8388608   82  Linux swap / Solaris
/dev/sda4           14360      243201  1838167648+  8e  Linux LVM
 
Command (m for help): w // 저장
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
 
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
-> OS가 설치된 Disk의 경우 파티션 변경정보를 메모리에 바로 적재가 불가능하여, 재 부팅 필요
OS 미 설치 Disk의 경우 partprobe 명령을 통해 메모리에 변경 정보 적재 가능
 
+++ /dev/sdb 작업 +++
# fdisk /dev/sdb
 
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): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-243201, default 1): [Enter]
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-243201, default 243201): [Enter]
Using default value 243201
 
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
 
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.
 
# partprobe
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or resource busy).  As a result, it may not reflect all of your changes until after reboot.
-> OS가 설치된 /dev/sda 영역에 대한 업데이트가 불가능 하다는 메시지
 
# cat /proc/partitions
major minor  #blocks  name
 
   8        0 1953514584 sda
   8        1    2097152 sda1
   8        2  104857600 sda2
   8        3    8388608 sda3
   8        4 1838167648 sda4
   8       16 1953514584 sdb
   8       17 1953512001 sdb1
 
2. LVM 생성 절차
+++ 물리 볼륨 생성 +++
# pvcreate /dev/sda4 /dev/sdb1
  Physical volume "/dev/sda4" successfully created
  Physical volume "/dev/sdb1" successfully created
 # pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sda4       lvm2 a--  1.71t 1.71t
  /dev/sdb1       lvm2 a--  1.82t 1.82t
-> fdisk를 통해 LVM System Type으로 변경 / pvs를 통한 생성 확인
ex) pvcreate [파티션 이름] [파티션 이름] [파티션 이름]
 
+++ 볼륨 그룹 생성 +++
# vgcreate VG01 /dev/sda4 /dev/sdb1
  Volume group "VG01" successfully created
# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  VG01   2   0   0 wz--n- 3.53t 3.53t
-> 생성한 물리 볼륨 n개의 파티션을 VG01이라는 하나의 볼륨 그룹으로 묶어 n개의 파티션에 대한 디스크 용량이 합산된 볼륨 그룹 생성 / vgs를 통해 볼륨 그룹 생성 확인
ex) vgcreate [볼륨그룹명] [파티션 이름] [파티션 이름] [파티션이름]
 
+++ 논리 볼륨 생성 +++
# lvcreate -L 50G -n APP VG01
  Logical volume "APP" created
# lvcreate -L 30G -n oracle VG01
  Logical volume "oracle" created
# lvcreate -L 20G -n oradata VG01
# lvcreate -L 1T -n oradata VG01
  Logical volume "oradata" created
# lvcreate -l 100%FREE -n data VG01
  Logical volume "data" created
# lvs
  LV      VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  APP     VG01 -wi-a----- 50.00g
  data    VG01 -wi-a-----  3.43t
  oracle  VG01 -wi-a----- 30.00g
  oradata VG01 -wi-a----- 20.00g
-> 마운트 영역 별 공간 할당 및 LV Name 지정
ex) lvcreate -L [용량] -n [LV 명] [볼륨그룹 명] // 용량 지정 방법
ex) lvcreate -l [n%FREE] -n [LV 명] [볼륨그룹 명] // 볼륨 그룹 내 비율로 공간 지정 방법
 
3. 파일 시스템 포맷 및 튜닝
+++ 파일 시스템 포맷 +++
# mkfs.ext4 /dev/VG01/APP
# mkfs.ext4 /dev/VG01/oracle
# mkfs.ext4 /dev/VG01/oradata
# mkfs.ext4 /dev/VG01/data
-> RHEL 6.x에서는 ext4가 기본 파일시스템이므로, ext4로 포맷
 
+++ 파일 시스템 튜닝 +++
# tune2fs -c -1 -i 0 /dev/VG01/APP
# tune2fs -c -1 -i 0 /dev/VG01/oracle
# tune2fs -c -1 -i 0 /dev/VG01/oradata
# tune2fs -c -1 -i 0 /dev/VG01/data
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
-> -c -1 : 최대 마운트 횟수(-1로 설정 시 시스템 점검 시 마운트 횟수 제한 없음)
-> -i 0 : 파일 시스템 점검 간격(0으로 설정 미 점검)
 
4. 마운트 작업
+++ 마운트 지점 디렉토리 생성 +++
# mkdir /{APP,oracle,oradata,data}
 
+++ /etc/fstab 수정 +++
# vi /etc/fstab
### LVM Partition ###
/dev/VG01/APP           /APP                    ext4    defaults        0 0
/dev/VG01/oracle        /oracle                 ext4    defaults        0 0
/dev/VG01/oradata       /oradata                ext4    defaults        0 0
/dev/VG01/data          /data                   ext4    defaults        0 0
-> 마운트 명에 대한 파일시스템 대한 내용 추가
ex) [파일시스템] [마운트지점] [ext파일시스템] [인자값] [파일시스템 체크 옵션]
 
# mount -a
# df -h
Filesystem                Size  Used Avail Use% Mounted on
/dev/sda2                  99G  6.3G   88G   7% /
tmpfs                     7.8G   72K  7.8G   1% /dev/shm
/dev/sda1                 2.0G   97M  1.8G   6% /boot
/dev/mapper/VG01-APP       50G  180M   47G   1% /APP
/dev/mapper/VG01-oracle    30G  172M   28G   1% /oracle
/dev/mapper/VG01-oradata   20G  172M   19G   1% /oradata
/dev/mapper/VG01-data     3.4T  198M  3.3T   1% /data
 
  
Posted by 짜꾸미의골골몽
|