linux扩展磁盘分区

扩展linux磁盘分区

vmware安装oracle空间分配小了,只能另外扩展磁盘分区,这里记录一下

增加虚拟机磁盘空间大小

《linux扩展磁盘分区》

[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

需要将根目录的磁盘扩容。

使用Linux下的fdisk工具进行分区

首先,需要以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
    原文作者:忙碌的菠萝
    原文地址: https://blog.csdn.net/qq_21271511/article/details/118493646
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞