vmware安装oracle空间分配小了,只能另外扩展磁盘分区,这里记录一下
[oracle@POC-DB u01]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_pocdb-lv_root
18G 17G 60M 100% /
tmpfs 932M 372K 931M 1% /dev/shm
/dev/sda1 477M 42M 411M 10% /boot
/dev/sr0 3.7G 3.7G 0 100% /media/RHEL-6.9 Server.x86_64
/root/rhel-server-6.9-x86_64-dvd.iso
3.7G 3.7G 0 100% /mnt
需要将根目录的磁盘扩容。
首先,需要以root身份登录系统。
fdisk 命令: fdisk -l : 打印当前的磁盘分区表,这时我们可以看到磁盘的总量的确增加到16GB 了,但是分区只有以前的那几个原有的分区。
[root@POC-DB ~]# fdisk -l
Disk /dev/sda: 37.6 GB, 37580963840 bytes
255 heads, 63 sectors/track, 4568 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: 0x0007885a
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 2611 20458496 8e Linux LVM
Disk /dev/mapper/vg_pocdb-lv_root: 18.8 GB, 18798870528 bytes
255 heads, 63 sectors/track, 2285 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_pocdb-lv_swap: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 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
键入命令: fdisk /dev/sda “sda 就是经过扩容的硬盘,为 SCSI 硬盘, IDE 类型硬盘对应为 hda ,是对该硬盘进行操作 ”
[root@POC-DB ~]# fdisk /dev/sda
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): m
键入: m “ 列出 fdisk 的帮助 ”
我们在这里是要添加一个新分区,即将扩容出来的那部分做成一个新分区,这样才能被操作系统挂载识别。
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)
键入: n ” 命令 n 用于添加新分区 "
此时, fdisk 会让你选择添加为逻辑分区呢(编号从 5 开始)还是主分区(编号 1 到 4 )。
选择主分区吧,则键入 p ;选择逻辑分区键入 l 。
我们选择主分区于是:
键入: p " 选择创建主分区 "
此时, fdisk 会让你选择主分区的编号,如果已经有了主分区 sda1 , sda2 ,那么编号就选3 ,即要创建的该分区为 sda3.
键入: 3
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (2611-4568, default 2611):
此时, fdisk 又会让你选择该分区的开始值这个就是分区的 Start 值( start cylinder );这里最好直接按回车,如果您输入了一个非默认的数字,可能会造成空间浪费;
对于分区的 End 值(end cylinder),同样直接按回车。这时候会显示出你新建分区的柱面范围和空间大小。
First cylinder (2611-4568, default 2611): 2611
Last cylinder, +cylinders or +size{K,M,G} (2611-4568, default 4568): 4568
此时键入: w 表示" 保存所有并退出,分区划分完毕 "
我们的新建分区/dev/sda3,却不是LVM的。所以,接下来使用fdisk将其改成LVM的。
[root@POC-DB ~]# fdisk /dev/sda
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): t //改变分区系统id
Partition number (1-4): 3 //指定分区号
Hex code (type L to list codes): 8e //指定要改成的id号,8e代表LVM。
Command (m for help): w
The partition table has been altered!
我们现在还不能用这个分区 , 因为我们没格式化。这时要重启系统就能够在 dev 下面看到 sda3 ,如果不重启不能进行下面操作。
重启后,在此查看fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1044 8281507+ 8e Linux LVM
/dev/sda3 1045 2088 8385930 8e Linux LVM
可以看到/dev/sda3已支持LVM。
[root@POC-DB dev]# reboot
键入:
mkfs -t ext3 /dev/sda3
或者
mkfs.ext3 /dev/sda3
运行mkfs.ext3 /dev/sdb3报错“Could not stat /dev/sdb3”,但是这个分区肯定是存在的,刚刚 fdisk 加上去的,查了一下资料:
运行
partprobe
再执行mkfs.ext3 /dev/sdb4 ,就可以了
来格式化指定的分区,依次类推,现在的系统大部分都是 ext3 格式,如果你需要其它的,可以查看mkfs 的帮助。
到此为止,我们就新建了一个分区/dev/sda3,此时我们已经可以通过挂载,来使用这个新的空间。但是对于我,这并不能满足我的需求,因为服务器的服务程序是在根目录上的,目前根目录空间已经使用完毕,所以能把新建的分区使用在更目录上,分担根目录的空间,才能解决问题。
下面用到的理论是基于LVM的,如果不知道的话,建议稍微查些资料有助于理解。当然,一步步的跟我做,应该也没有问题。
[root@POC-DB ~]# cd /dev
[root@POC-DB dev]# ll sda3
brw-rw---- 1 root disk 8, 3 1月 14 14:25 sda3
[root@POC-DB dev]# mkfs -t ext3 /dev/sda3
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
983040 inodes, 3930235 blocks
196511 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4026531840
120 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
接着,使用vgextend 命令加到lvm组里面去,做如下操作:
[root@POC-DB dev]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_root vg_pocdb -wi-ao---- 17.51g
lv_swap vg_pocdb -wi-ao---- 2.00g
[root@POC-DB dev]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
查看空间所在的组名
[root@POC-DB dev]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_pocdb-lv_root
18G 17G 159M 100% /
tmpfs 932M 72K 932M 1% /dev/shm
/dev/sda1 477M 42M 411M 10% /boot
[root@POC-DB dev]# vgextend vg_pocdb /dev/sda3
Volume group "vg_pocdb" successfully extended
(其中是当前需要扩充的lvm组名,可以通过df -h查看,例如我的是: /dev/mapper/vg_pocdb-lv_root)
[root@POC-DB dev]# vgdisplay
--- Volume group ---
VG Name vg_pocdb
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 34.50 GiB
PE Size 4.00 MiB
Total PE 8831
Alloc PE / Size 4994 / 19.51 GiB
Free PE / Size 3837 / 14.99 GiB
VG UUID 1uydxM-lRCd-ZRHj-Pu1e-ZsTS-mdqf-m0df3t
[root@POC-DB ~]#
主要查看 Free PE / Size 3837 / 14.99 GiB,说明我们最多可以有14.99G的扩充空间。
最后,给根分区增加空间
[root@POC-DB dev]# lvextend -L +14.98G /dev/vg_pocdb/lv_root /dev/sda3
Rounding size to boundary between physical extents: 14.98 GiB.
Size of logical volume vg_pocdb/lv_root changed from 17.51 GiB (4482 extents) to 32.49 GiB (8317 extents).
Logical volume lv_root successfully resized.
[root@POC-DB dev]# vim /etc/fstab
/dev/mapper/vg_pocdb-lv_root / ext4 defaults 1 1
UUID=4d3444e7-03b8-4018-88b6-92539c83fb75 /boot ext4 defaults 1 2
/dev/mapper/vg_pocdb-lv_swap swap swap defaults 0 0
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
逻辑卷现在使用的就是ext3的文件系统最后扩展一下文件系统,此处不需要卸载,就ok了
要先做fsck,检查文件系统:e2fsck -f /dev/vg_pocdb/lv_root
[root@POC-DB dev]# e2fsck -f /dev/vg_pocdb/lv_root
e2fsck 1.41.12 (17-May-2010)
/dev/vg_pocdb/lv_root is mounted.
e2fsck: 无法继续, 中止.
告诉系统,分割区大小有调整了,以下以实际情况为主
[root@POC-DB dev]# resize2fs /dev/vg_pocdb/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_pocdb/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_pocdb/lv_root to 8516608 (4k) blocks.
The filesystem on /dev/vg_pocdb/lv_root is now 8516608 blocks long.
[root@POC-DB dev]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_pocdb-lv_root
32G 17G 15G 54% /
tmpfs 932M 72K 932M 1% /dev/shm
/dev/sda1 477M 42M 411M 10% /boot