리눅스 lvm설정법, 하드디스크 2개를 하나 처럼 사용하는 방법

리눅스 lvm설정법, 하드디스크 2개를 하나 처럼 사용하는 방법

기본 설정 사항들
먼저..
실질적인 연습을 위해서 컴퓨터에 vmware로 리눅스를 설치한 상태에서 가상으로 하드디스크를

프라이머리에 IDE로 2개를 단다고 가정하고

리눅스큰 스카시로 설치되어 있다고 가정하겠습니다.
vmware에서 하드디스크 2개를 추가합니다.

여기서는 테스트니까 그냥 100메가, 200메가 이렇게 2개를 추가해보겠습니다.

아래 그림처럼 따라하고 리눅스 부팅하면 됩니다.



이제 하드디스크를 추가한 것입니다.

hda
hdb
로 추가가 된 것이죠.


아래는 이 2개에 파티션을 ext3에서 lvm으로 만드는 과정까지를 나타낸 것입니다.
다 만들고 리부팅 한 번 해줍니다.

[root@localhost ~]# fdisk /dev/hda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. 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)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-207, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-207, default 207):
Using default value 207

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): l

 0  Empty           1e  Hidden W95 FAT1 80  Old Minix       bf  Solaris       
 1  FAT12           24  NEC DOS         81  Minix / old Lin c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          82  Linux swap / So c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  83  Linux           c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c7  Syrinx        
 5  Extended        41  PPC PReP Boot   85  Linux extended  da  Non-FS data   
 6  FAT16           42  SFS             86  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set de  Dell Utility  
 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext df  BootIt        
 9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access    
 a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e3  DOS R/O       
 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e4  SpeedStor     
 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs       
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  EFI GPT       
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a6  OpenBSD         f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f1  SpeedStor     
12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f4  SpeedStor     
14  Hidden FAT16 <3 61  SpeedStor       a9  NetBSD          f2  DOS secondary 
16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     fb  VMware VMFS   
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep       
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT           
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/hda: 106 MB, 106954752 bytes
16 heads, 63 sectors/track, 207 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1         207      104296+  8e  Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# fdisk /dev/hdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. 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)

Command (m for help): p

Disk /dev/hdb: 213 MB, 213909504 bytes
16 heads, 63 sectors/track, 414 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): m
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): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-414, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-414, default 414):
Using default value 414

Command (m for help): p

Disk /dev/hdb: 213 MB, 213909504 bytes
16 heads, 63 sectors/track, 414 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               1         414      208624+  83  Linux

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): p

Disk /dev/hdb: 213 MB, 213909504 bytes
16 heads, 63 sectors/track, 414 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               1         414      208624+  8e  Linux LVM

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# reboot

리부팅 후에 이제 이 두개의 파티션을 하나로 합쳐보겠습니다.

data라는 디렉토리로 마운트해보겠습니다.

[root@localhost ~]# pvcreate /dev/hda1
  Physical volume "/dev/hda1" successfully created
[root@localhost ~]# pvcreate /dev/hdb1
  Physical volume "/dev/hdb1" successfully created
[root@localhost ~]#
물리적인 볼륨을 만들고 이 물리적 볼륨을 합쳐야합니다.

[root@localhost ~]# vgcreate /dev/hda1 /dev/hdb1
  /dev/hda1: already exists in filesystem
  New volume group name "hda1" is invalid
  Run `vgcreate --help' for more information.
[root@localhost ~]# vgcreate myVG /dev/hda1 /dev/hdb1
  Volume group "myVG" successfully created
[root@localhost ~]#

위의 물리적 볼륨을 myVG라는 볼륨그룹으로 하나로 만든 것입니다.

이제...이 물리적 볼륨그룹을 가지고  논리적으로 나누어야합니다.  논리적으로는 여러개를 나눌 수 있겠죠.

[root@localhost ~]# lvcreate -l 50 -n myLG1 myVG
  /dev/cdrom: open failed: 읽기전용 파일 시스템
  Logical volume "myLG1" created

myVG 볼륨그룹을 논리적 볼륨 myLG1으로 통으로 인식하게 한 것입니다.

[root@localhost ~]# ls /dev/myVG
myLG1
[root@localhost ~]# cd /dev/myVG
[root@localhost myVG]# ls
myLG1
[root@localhost myVG]# mkfs.ext3 /dev/myVG/myLG1
이제 논리적 볼륨 myLG1의 파일 시스템을 ext3로 만들어 주는 것입니다.

mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
51200 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
25 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729

Writing inode tables: done                           
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@localhost myVG]# cd /data
bash: cd: /data: 그런 파일이나 디렉토리가 없음
[root@localhost myVG]# cd /
[root@localhost /]# mkdir data
마운트 할 디렉토리를 만드는 것입니다. 여기서는 data로 만들었습니다.

[root@localhost /]# cd data
[root@localhost data]# mount -t ext3 /dev/myVG/myLG1 /data
마운트 명령어...입니다.


[root@localhost data]# cd /data
[root@localhost data]# ls
lost+found
[root@localhost data]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda3              8022104   2672768   4935264  36% /
/dev/sda1               101086     11401     84466  12% /boot
tmpfs                   517620         0    517620   0% /dev/shm
/dev/hdd1              1031800     17692    961696   2% /download
/dev/hdc               3877944   3877944         0 100% /media/CentOS_5.3_Final
/dev/mapper/myVG-myLG1
                        198337      5664    182433   4% /data

[root@localhost data]# df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda3     ext3    7.7G  2.6G  4.8G  36% /
/dev/sda1     ext3     99M   12M   83M  12% /boot
tmpfs        tmpfs    506M     0  506M   0% /dev/shm
/dev/hdd1     ext3   1008M   18M  940M   2% /download
/dev/hdc   iso9660    3.7G  3.7G     0 100% /media/CentOS_5.3_Final
/dev/mapper/myVG-myLG1
              ext3    194M  5.6M  179M   4% /data

정상적으로 마운트 된 것을 알 수 있습니다.
이제... 부팅 시에 자동으로 마운트되게 하기 위해서 아래를 수정해줍니다.

[root@localhost data]# cat /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
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
LABEL=SWAP-sda2         swap                    swap    defaults        0 0
/dev/hdd1              /download                ext3    defaults        1 2
[root@localhost data]# vi /etc/fstab
[root@localhost data]# cat /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
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
LABEL=SWAP-sda2         swap                    swap    defaults        0 0
/dev/hdd1              /download                ext3    defaults        1 2
/dev/myVG/myLG1        /data                    ext3    defaults        1 2
[root@localhost data]#
위의 부분이 fstab 파일에 추가된 것입니다.
[root@localhost data]#



좀 복잡하네요.

요런 식으로 사용하시면 되겠습니다.

즉, 하드디스크 2개를 하나로 사용하실려면..

일단 fdisk로 파티션을 만들고 각각의 하드에 물리적 볼륨을 만들고 이 물리적볼륨을 다시 볼륨그룹으로 만들고 볼륨그룹을 다시 논리적 볼륨으로 만들고...

만든 논리적볼륨에 mkfs.ext3 명령으로 ext3 파일시스템으로 만들고..
마운트하시면 되는 것입니다.


복잡하네요.