我的vbox的根目录磁盘空间快不够用了,
1 2 3 4 5 6 7 |
[root@testdb2 ~]# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_testdb2-lv_root 27431124 21329720 4707948 82% / tmpfs 3481600 88 3481512 1% /dev/shm /dev/sda1 495844 56258 413986 12% /boot [root@testdb2 ~]# |
我原来的oracle软件和数据,都放在根目录的/u01下,现在根目录已经82%了。
我决定给vbox加一块盘,扩大根目录的空间。
首先,在vbox的图形化界面添加一块硬盘。
当然,如果不用图形化界面,用命令行如下,也是可以的。
1 2 3 |
VBoxManage createhd --filename "Z:\Oralce_Virtual_Box\Test DB\TestDB2(11g 12c)\Test_db(11 12c)_AttachStorage.vdi" --size 8192 --format VDI --variant Standard VBoxManage storageattach "TestDB2(11g 12c)" --storagectl "SATA" --port 2 --device 0 --type hdd --medium "Z:\Oralce_Virtual_Box\Test DB\TestDB2(11g 12c)\Test_db(11 12c)_AttachStorage.vdi" |
完成后,打开linux,进行扩容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
## 初始状态 [root@testdb2 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_testdb2-lv_root 27G 21G 4.5G 82% / tmpfs 3.4G 88K 3.4G 1% /dev/shm /dev/sda1 485M 55M 405M 12% /boot [root@testdb2 ~]# [root@testdb2 ~]# [root@testdb2 ~]# [root@testdb2 ~]# cd /dev [root@testdb2 dev]# ls -l sd* brw-rw----. 1 root disk 8, 0 Nov 3 09:29 sda brw-rw----. 1 root disk 8, 1 Nov 3 09:30 sda1 brw-rw----. 1 root disk 8, 2 Nov 3 09:29 sda2 brw-rw----. 1 root disk 8, 16 Nov 3 09:29 sdb |
可以看到,我新加的一块盘,叫sdb。
创建分区,注意类型选8e,即LVM管理。
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
[root@testdb2 dev]# 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 <<<输入n Command action e extended p primary partition (1-4) p <<<输入p Partition number (1-4): 1 <<<输入1 First cylinder (1-1044, default 1): <<<回车 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): <<<回车 Using default value 1044 Command (m for help): t <<<输入t Selected partition 1 Hex code (type L to list codes): L <<<输入L 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx 5 Extended 42 SFS 86 NTFS volume set da Non-FS data 6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility 8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt 9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary 16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT 1e Hidden W95 FAT1 Hex code (type L to list codes): 8e <<<输入8e Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): Command (m for help): p <<<输入p,进行查看,确认没有问题 Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 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: 0x039b1264 Device Boot Start End Blocks Id System /dev/sdb1 1 1044 8385898+ 8e Linux LVM Command (m for help): w <<<输入w,写出到分区表。 The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@testdb2 dev]# [root@testdb2 dev]# ls -l sd* brw-rw----. 1 root disk 8, 0 Nov 3 09:29 sda brw-rw----. 1 root disk 8, 1 Nov 3 09:30 sda1 brw-rw----. 1 root disk 8, 2 Nov 3 09:29 sda2 brw-rw----. 1 root disk 8, 16 Nov 3 09:29 sdb brw-rw----. 1 root disk 8, 17 Nov 3 09:30 sdb1 |
可以用fdisk -l检查一下,新建的sdb1分区,是lvm管理:
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 31 32 33 34 35 36 37 38 39 40 |
[root@testdb2 dev]# fdisk -l Disk /dev/sda: 32.2 GB, 32212254720 bytes 255 heads, 63 sectors/track, 3916 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: 0x000b1d34 Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 3917 30944256 8e Linux LVM Disk /dev/sdb: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 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: 0x039b1264 Device Boot Start End Blocks Id System /dev/sdb1 1 1044 8385898+ 8e Linux LVM <<<<新建的分区,lvm管理 Disk /dev/mapper/vg_testdb2-lv_root: 28.5 GB, 28538044416 bytes 255 heads, 63 sectors/track, 3469 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: 0x00000000 Disk /dev/mapper/vg_testdb2-lv_swap: 3145 MB, 3145728000 bytes 255 heads, 63 sectors/track, 382 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: 0x00000000 [root@testdb2 dev]# |
然后,先创建pv:
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 |
[root@testdb2 dev]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created [root@testdb2 dev]# [root@testdb2 ~]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name vg_testdb2 <<< 可以看到原来已经存在的一个pv,注意记录此名字,一会要用到。 PV Size 29.51 GiB / not usable 3.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 7554 Free PE 0 Allocated PE 7554 PV UUID FM5QpS-QVVz-HzaR-yDky-xyp7-pnii-ZjeqsV "/dev/sdb1" is a new physical volume of "8.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name <<< 新创建的pv,还没加入到vg,所以显示是空。一会加入。 PV Size 8.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID BvodFn-begg-Fd3I-J12E-LzBE-Z9I7-PqhcFO [root@testdb2 ~]# |
我们再来看看,pv之上,vg的情况:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[root@testdb2 ~]# vgdisplay --- Volume group --- VG Name vg_testdb2 <<<< 注意记录此名字,一会要用到。 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 29.51 GiB PE Size 4.00 MiB Total PE 7554 Alloc PE / Size 7554 / 29.51 GiB Free PE / Size 0 / 0 <<<<<< 注意Free的大小,vgextend之前,Free为0 VG UUID VOCOIo-ldU1-riYX-tKUc-fbVz-AkYY-QovsFe [root@testdb2 ~]# |
我们进行vgextend:
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 |
[root@testdb2 ~]# vgextend vg_testdb2 /dev/sdb1 Volume group "vg_testdb2" successfully extended [root@testdb2 ~]# [root@testdb2 ~]# vgdisplay --- Volume group --- VG Name vg_testdb2 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 2 Act PV 2 VG Size 37.50 GiB PE Size 4.00 MiB Total PE 9601 Alloc PE / Size 7554 / 29.51 GiB Free PE / Size 2047 / 8.00 GiB <<<<<<<<有变化了,Free有8G了。 VG UUID VOCOIo-ldU1-riYX-tKUc-fbVz-AkYY-QovsFe [root@testdb2 ~]# |
我们再来看看lv的情况:
[root@testdb2 ~]# lvdisplay
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 31 32 33 34 35 |
--- Logical volume --- LV Path /dev/vg_testdb2/lv_root LV Name lv_root VG Name vg_testdb2 LV UUID GvdFtq-RLee-iuXW-SZEw-XZsh-MHv3-yXf5Um LV Write Access read/write LV Creation host, time localhost.localdomain, 2013-12-09 10:46:23 +0800 LV Status available # open 1 LV Size 26.58 GiB Current LE 6804 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:0 --- Logical volume --- LV Path /dev/vg_testdb2/lv_swap LV Name lv_swap VG Name vg_testdb2 LV UUID AxCkee-CZEx-pAPl-NDWN-h0VY-erfC-KISgl7 LV Write Access read/write LV Creation host, time localhost.localdomain, 2013-12-09 10:46:26 +0800 LV Status available # open 2 LV Size 2.93 GiB Current LE 750 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:1 [root@testdb2 ~]# |
进行lvextend,注意大小稍微比原来的8G小一些:
1 2 3 4 5 |
[root@testdb2 ~]# lvextend -L +7.9G /dev/vg_testdb2/lv_root Rounding size to boundary between physical extents: 7.90 GiB Extending logical volume lv_root to 34.48 GiB Logical volume lv_root successfully resized [root@testdb2 ~]# |
注意,lvextend之后,我们看文件系统,还是没有扩容的,因为还需要进行resize2fs命令:
1 2 3 4 5 6 7 |
[root@testdb2 ~]# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_testdb2-lv_root 27431124 21329720 4707948 82% / tmpfs 3481600 88 3481512 1% /dev/shm /dev/sda1 495844 56258 413986 12% /boot [root@testdb2 ~]# |
resize2fs命令:
1 2 3 4 5 6 |
[root@testdb2 ~]# resize2fs /dev/vg_testdb2/lv_root resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/vg_testdb2/lv_root is mounted on /; on-line resizing required old desc_blocks = 2, new_desc_blocks = 3 Performing an on-line resize of /dev/vg_testdb2/lv_root to 9038848 (4k) blocks. The filesystem on /dev/vg_testdb2/lv_root is now 9038848 blocks long. |
再看,根目录已经完成扩容:
1 2 3 4 5 6 7 |
[root@testdb2 ~]# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/vg_testdb2-lv_root 35587744 21333800 12448736 64% / tmpfs 3481600 88 3481512 1% /dev/shm /dev/sda1 495844 56258 413986 12% /boot [root@testdb2 ~]# |