공유할 서비스 선택

TECH


TECH

OS [Linux] LVM 구성

페이지 정보

작성자 LeeHyongDong 아이디로 검색 전체게시물 댓글 0건 조회 158회 좋아요 0회 작성일 19-09-30 11:04

본문


LVM
구축

 

1. fdisk 파티션 할당

2. pvcreate로 파티션으로 PV 생성

3. vgcreatePV들을 묶어 VG를 생성

4. lvcreateLV를 생성

5. mkfsLV를 파일 시스템 포맷

6. 부팅시 자동으로 저장장치를 읽도록 /etc/fstab에 추가

 

 

그림을 기준으로 설명드리겠습니다.


1. fdisk 파티션 할당

# fdisk -l
 
Disk /dev/sda: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0000b436
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200     6293503     2097152   82  Linux swap / Solaris
/dev/sda3         6293504    33554431    13630464   83  Linux
 
Disk /dev/sdb: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
cs

fdisk l 명령어로 현재 장착된 디스크를 확인할수 있습니다.

 

fdisk에서 파티션을 나눠 줍니다.

 

# fdisk /dev/sdb
 
Command (m for help): n //새로운 파티션 생성
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p //주 파티션(p)과 확장 파티션(e)중 주 파티션 선택
Partition number (1-4, default 1): 1 //생성될 파티션의 넘버
First sector (2048-2097151, default 2048): 2048 //디스크의 어디부터 할당할건지
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): 2097151
//디스크의 어디까지 할당 할건지
Partition 1 of type Linux and of size 1023 MiB is set
 
Command (m for help): t //파티션의 타입을 변경
Selected partition 1 //바꿀 파티션 선택
Hex code (type L to list all codes): 8e //Linux LVM
Changed type of partition 'Linux' to 'Linux LVM'
 
cs

 

파티션 생성할 때 커맨드 n입력후 Enter누르면 디폴트 값이 입력됩니다.

만든후 파티션의 타입을 바꿔줍니다

 

커맨드 t를 입력하면 타입을 변경할수 있습니다

파티션을 하나만 만들었다면 자동으로 그 파티션을 선택하지만 여러 파티션의 경우 파티션을 골라야 합니다.

 

타입을 변경후 w를 입력해 저장후 종료합니다.

디스크가 여러개면 다른 디스크도 파티션 분할 후 타입을 변경 및 저장합니다.

 

2. pvcreate로 파티션으로 PV 생성 

# pvcreate /dev/sdb1 /dev/sdc1
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdc1" successfully created.
# pvs
  PV         VG Fmt  Attr PSize   PFree
  /dev/sdb1     lvm2 ---  <16.00g <16.00g
  /dev/sdc1     lvm2 ---  <16.00g <16.00g
cs

pvcreate명령어는 PV를 생성하는 명령어입니다.

/dev/sdc1/dev/sdd1PV로 만들었습니다.

 

3. vgcreate PV들을 묶어 VG를 생성

# vgcreate data_vg /dev/sdb1 /dev/sdc1
  Volume group "data_vg" successfully created
# vgs
  VG      #PV #LV #SN Attr   VSize  VFree
  data_vg   2   0   0 wz--n- 31.99g 31.99g

vgcreate 명령어는 VG를 생성하는 명령어입니다.

vgcreate (vg) (pv) (pv)

위 그림에선 한번에 2개의 pv를 묶었지만

만약 vgcreate data_vg /dev/sdc1 만 생성한다면

vgextend 명령어로 확장 가능합니다

확장 명령어는 뒤에서 알려드리겠습니다.

 

4. lvcreate로 LV를 생성

# lvcreate -L 500M -n data_lv data_vg
  Logical volume "data_lv" created.
# lvcreate -l 10 -n data_lv2 data_vg
  Logical volume "data_lv2" created.
# lvcreate -l 10%vg -n data_lv3 data_vg
  Logical volume "data_lv3" created.
# lvcreate -l 100%FREE -n data_lv4 data_vg
  Logical volume "data_lv4" created.
# lvs
  LV       VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data_lv  data_vg -wi-a----- 500.00m
  data_lv2 data_vg -wi-a-----  40.00m
  data_lv3 data_vg -wi-a-----  <3.20g
  data_lv4 data_vg -wi-a----- <28.27g


lvcreateLV를 생성하는 명령어입니다.

lvcreate는 옵션을 넣어야 합니다

lvcreate에는 많은 옵션이 존재하지만 자주 쓰는 옵션 3개를 기준으로 설명드리겠습니다.

-l L n 이 있는데 lPE사이즈로 크기를 할당 하는 명령어입니다.

PE사이즈는 VG생성할 때 옵션 s로 사이즈 변경 가능 따로 변경하지 않으면

기본 4MB로 설정됩니다.

ex) 10%VG = vg용량의 10%LV로 생성

100%FREE =vg의 여유공간 전부를 LV로 생성

 

 

5. mkfs로 LV를 파일 시스템 포맷

# mkfs.xfs /dev/data_vg/data_lv
meta-data=/dev/data_vg/data_lv   isize=512    agcount=4, agsize=32000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=128000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
cs

가장먼저 LV를 파일시스템 형태로 포맷시켜줍니다.

포맷을 한뒤 마운트포인트를 생성합니다

 

# mkdir /lv{1..4}
# ls /
bin  boot  dev  etc  home  lib  lib64  lv1  lv2  lv3  lv4  media  mnt  opt  proc  root  run  sbin  sos  srv  sys  tmp  usr  var

저는 LV4개로 나눠 생성했기에 lv1 ~ lv4까지 만들었습니다.

 

6. 부팅시 자동으로 저장장치를 읽도록 /etc/fstab에 추가 

    

# vim /etc/fstab
 
UUID=319523a4-c838-405f-b5f2-6f0f5cbf19d4 /                       xfs     defaults        0 0
UUID=f5b932a8-b0a3-47dd-92bb-d012afb36373 /boot                   xfs     defaults        0 0
UUID=53ffcb2b-3fed-4572-8e71-b48a093f5add swap                    swap    defaults        0 0
/dev/data_vg/data_lv                    /lv1                    xfs     defaults        0 0
/dev/data_vg/data_lv2                   /lv2                    xfs     defaults        0 0
/dev/data_vg/data_lv3                   /lv3                    xfs     defaults        0 0
/dev/data_vg/data_lv4                   /lv4                    xfs     defaults        0 0

마운트 포인트에 마운트하기위해 /etc/fstab안에 정보를 넣습니다.

 

 

# mount -a
# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/sda3                      13G  3.6G  9.5G  28% /
devtmpfs                      905M     0  905M   0% /dev
tmpfs                         920M     0  920M   0% /dev/shm
tmpfs                         920M   26M  894M   3% /run
tmpfs                         920M     0  920M   0% /sys/fs/cgroup
/dev/sda1                    1014M  166M  849M  17% /boot
tmpfs                         184M  8.0K  184M   1% /run/user/42
tmpfs                         184M   44K  184M   1% /run/user/0
/dev/sr0                      4.4G  4.4G     0 100% /mnt
/dev/mapper/data_vg-data_lv   497M   26M  472M   6% /lv1
/dev/mapper/data_vg-data_lv2   37M  2.2M   35M   6% /lv2
/dev/mapper/data_vg-data_lv3  3.2G   33M  3.2G   1% /lv3
/dev/mapper/data_vg-data_lv4   29G   33M   29G   1% /lv4

mount a를 입력하면 /etc/fstab에 있는 정보들을 마운트 합니다.

 

 

LVM 확장

 

사용하던 디스크가 거의 다 사용되고 있을 때 서비스를 중지하지 않고 용량의 확장이 가능합니다.

확장을 하려면 추가 디스크 혹은 여유 디스크의 파티션이 있어야 합니다.     

 

# pvcreate /dev/sdd
  Device /dev/sdd excluded by a filter.
# pvs
  PV         VG      Fmt  Attr PSize   PFree
  /dev/sdb1  data_vg lvm2 a--  <16.00g    0
  /dev/sdc1  data_vg lvm2 a--  <16.00g    0

2개의 디스크를 data_vg

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
28 OS LeeHyongDong 아이디로 검색 전체게시물 01-22 22
[작성중]Network 설정 및 인터페이스명 변경 #2

카테고리 : OS

22 0
작성자 : LeeHyongDong 20/01/22
27 OS LeeHyongDong 아이디로 검색 전체게시물 01-22 25
[작성중]Network 설정 및 인터페이스명 변경 #1

카테고리 : OS

25 0
작성자 : LeeHyongDong 20/01/22
26 OS Leesangwoo 아이디로 검색 전체게시물 01-20 23
[Cluster] RHEL 7 Pacemaker constraint 설정

카테고리 : OS

23 0
작성자 : Leesangwoo 20/01/20
25 OS Leesangwoo 아이디로 검색 전체게시물 01-09 48
[Cluster] RHEL 7 Pacemaker crm_report ( sosreport )

카테고리 : OS

48 0
작성자 : Leesangwoo 20/01/09
24 OS Chojunhyung 아이디로 검색 전체게시물 01-07 103
[Overview] RHEL 8 Overview #2

카테고리 : OS

103 0
작성자 : Chojunhyung 20/01/07
23 OS Chojunhyung 아이디로 검색 전체게시물 01-07 66
[Overview] RHEL 8 Overview #1

카테고리 : OS

66 0
작성자 : Chojunhyung 20/01/07
22 OS LeeHyongDong 아이디로 검색 전체게시물 01-06 56
Sosreport & Syslog

카테고리 : OS

56 0
작성자 : LeeHyongDong 20/01/06
21 OS Chojunhyung 아이디로 검색 전체게시물 01-03 48
[작성중] [Cluster] RHEL 8 Pacemaker install guide

카테고리 : OS

48 0
작성자 : Chojunhyung 20/01/03
20 OS Chojunhyung 아이디로 검색 전체게시물 12-30 51
[HA] vmware fencing

카테고리 : OS

51 0
작성자 : Chojunhyung 19/12/30
19 OS LeeHyongDong 아이디로 검색 전체게시물 12-26 71
[Linux] raw device 생성

카테고리 : OS

71 0
작성자 : LeeHyongDong 19/12/26
Total 28건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top