관리 메뉴

드럼치는 프로그래머

[Linux] 리눅스 LVM 구축하기 본문

★─Programing/☆─Linux

[Linux] 리눅스 LVM 구축하기

드럼치는한동이 2007. 8. 6. 20:45
 

LVM(Linux Volume Manager) 구축하기

                                                             

I. 시스템 사양

  - PC 의 vmware 상에서 하드를 2개 추가하여 할 예정

  - OS : redhat 9 2.4.20-31.9(yum으로 커널 컴파일 한 버전)

  - vmware에서 구축

  - HDD 3개 : 이중 sad1(2G) 과 sdc1(2G) 에 구축예정

  - CPU : Pentium 4 2.8Ghz

  - memory : 1G(physical) + 1G(swap)


II . 구축하기

1. 먼저 디스크에 리눅스 LVM 파일 시스템을 만들어준다.

[root@angka root]# fdisk /dev/sdb


Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-261, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-261, default 261):

Using default value 261


Command (m for help): t

Selected partition 1

Hex code (type L to list codes): 8e        <-- 반드시 LVM으로 포맷해준다.

Changed system type of partition 1 to 8e (Linux LVM)


Command (m for help): p


Disk /dev/sdb: 2147 MB, 2147483648 bytes

255 heads, 63 sectors/track, 261 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes


   Device Boot    Start       End    Blocks   Id  System

/dev/sdb1             1       261   2096451   8e  Linux LVM


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.

Syncing disks.


/dev/sdc 도 똑같은 방법으로 LVM 으로 만들어준다.


fdisk -l 명령으로 sdb 와 sdc가 LVM으로 만들어 졌는지 확인한다.


[root@angka root]# fdisk -l


Disk /dev/sda: 11.8 GB, 11811160064 bytes

255 heads, 63 sectors/track, 1435 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes


   Device Boot    Start       End    Blocks   Id  System

/dev/sda1   *         1       510   4096543+  83  Linux

/dev/sda2           511       637   1020127+  82  Linux swap

/dev/sda3           638      1435   6409935   83  Linux


Disk /dev/sdb: 2147 MB, 2147483648 bytes

255 heads, 63 sectors/track, 261 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes


   Device Boot    Start       End    Blocks   Id  System

/dev/sdb1             1       261   2096451   8e Linux LVM <-- 파일 시스템 파입이 LVM이어야한다.


Disk /dev/sdc: 2147 MB, 2147483648 bytes

255 heads, 63 sectors/track, 261 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes


   Device Boot    Start       End    Blocks   Id  System

/dev/sdc1             1       261   2096451   8e  Linux LVM



2. pvcreate 명령으로 물리적인 볼륨을 생성한다.


[root@angka root]# pvcreate /dev/sdb1

pvcreate -- physical volume "/dev/sdb1" successfully created


[root@angka root]# pvcreate /dev/sdc1

pvcreate -- physical volume "/dev/sdc1" successfully created


[root@angka root]#


3. sdb1 과 sdc1을 하나의 물리적 볼륨으로 묶어준다. 볼륨 그룹 이름은 angkaVG 로 한다.

[root@angka root]# vgcreate angkaVG /dev/sdb1 /dev/sdc1

vgcreate -- INFO: using default physical extent size 4 MB

vgcreate -- INFO: maximum logical volume size is 255.99 Gigabyte

vgcreate -- doing automatic backup of volume group "angkaVG"

vgcreate -- volume group "angkaVG" successfully created and activated


[root@angka root]#


4. vgdisplay 명령으로 볼륨그룹이 잘 생성되었는지 확인한다.

[root@angka root]# vgdisplay

--- Volume group ---

VG Name               angkaVG

VG Access             read/write

VG Status             available/resizable

VG #                  0

MAX LV                256

Cur LV                0

Open LV               0

MAX LV Size           255.99 GB

Max PV                256

Cur PV                2

Act PV                2

VG Size               3.98 GB <-- 2G 2개를 묶었으므로 4G가 나온다.

PE Size               4 MB

Total PE              1020

Alloc PE / Size       0 / 0

Free  PE / Size       1020 / 3.98 GB

VG UUID               HJNDS6-X7U4-BVlx-pPiG-uAkD-2Fup-cMqeqP



[root@angka root]#

여기서 주의할 것은 angkaVG는 단지 볼륨 그룹이지 논리적인 슬라이스가 아니다. angkaVG 자체를 마운트 하려고 하면 오류가 떨어진다. 이것은 마치 하드디스크를 추가하면 /dev/sde 와 같이 물리적인 디스크로 시스템에서 인식할 뿐이다. 그러므로 angkaVG를 다시 lvcreate 이용하여(하드 디스크일 경우는 fdisk이지만) 논리적으로 시스템이 인식하도록 만들어 주어야 한다.



5. angkaVG를 lvcreate를 이용 angkaVG1 4G로 만든다.

[root@angka root]# lvcreate -L 3.98G -n angkaVG1 angkaVG

lvcreate -- rounding size up to physical extent boundary

lvcreate -- doing automatic backup of "angkaVG"

lvcreate -- logical volume "/dev/angkaVG/angkaVG1" successfully created


[root@angka root]#


자 이제 우리가 쓸 수 있는 논리적인 디스크의 이름은 /dev/angkaVG/angkaVG1 이다. 이것의 크기는 4G 이며 이것은 sdb1(2G) + sdc1(2G)를 합쳐놓은 크기이다.


6. angkaVG1을 파일 시스템을 만들고 fsck 까지 한다음에 마운트한다.

[root@angka /]# mkfs.ext3 /dev/angkaVG/angkaVG1

mke2fs 1.32 (09-Nov-2002)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

522240 inodes, 1043456 blocks

52172 blocks (5.00%) reserved for the super user

First data block=0

32 block groups

32768 blocks per group, 32768 fragments per group

16320 inodes per group

Superblock backups stored on blocks:

        32768, 98304, 163840, 229376, 294912, 819200, 884736


Writing inode tables: done                           

Creating journal (8192 blocks): done

Writing superblocks and filesystem accounting information: done


This filesystem will be automatically checked every 37 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@angka /]# fsck -y /dev/angkaVG/angkaVG1

fsck 1.32 (09-Nov-2002)

e2fsck 1.32 (09-Nov-2002)

/dev/angkaVG/angkaVG1: clean, 11/522240 files, 24607/1043456 blocks

[root@angka /]# mount /dev/angkaVG/angkaVG1 /test

[root@angka /]# df -k

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/sda1              4032092   3364488    462780  88% /

/dev/sda3              6309320   3779156   2209668  64% /oracle

none                     79144         0     79144   0% /dev/shm

/dev/angkaVG/angkaVG1

                       4108224     32828   3866708   1% /test

[root@angka /]#

 

7. 부팅시에도 올라오도록 /etc/fstab 에 넣어준다.

LABEL=/                 /                       ext3    defaults        1 1

none                    /dev/pts                devpts  gid=5,mode=620  0 0

LABEL=/oracle           /oracle                 ext3    defaults        1 2

none                    /proc                   proc    defaults        0 0

none                    /dev/shm                tmpfs   defaults        0 0

/dev/sda2               swap                    swap    defaults        0 0

/dev/cdrom              /mnt/cdrom              udf,iso9660 noauto,owner,kudzu,ro 0 0

/dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0

/dev/angkaVG/angkaVG1   /test                   ext3    defaults        1 3


'★─Programing > ☆─Linux' 카테고리의 다른 글

[Linux] mknod 명령어  (0) 2007.08.29
[Linux] linux rescue (grub 재설치)  (0) 2007.08.29
[Linux] LINUX RAID5 구축  (0) 2007.08.06
[Linux] LINUX RAID1 구축  (0) 2007.08.06
[Linux] LINUX RAID0 구축  (0) 2007.08.06
Comments