리눅스 lvm설정법, 하드디스크 2개를 하나 처럼 사용하는 방법
- Internet
- 2009. 8. 4.
리눅스 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 파일시스템으로 만들고..
마운트하시면 되는 것입니다.
복잡하네요.