分区查看
df命令可以展示任何“mounted”文件系统的磁盘利用率。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
df 参数:
示例:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/ubuntu-root 909G 565G 299G 66% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.9G 4.0K 3.9G 1% /dev
tmpfs 785M 1.2M 784M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 63M 3.8G 2% /run/shm
none 100M 48K 100M 1% /run/user
/dev/sda1 228M 98M 118M 46% /boot
其中,
mapper 表示的是磁盘阵列。Device mapper是Linux2.6内核中提供的一种从逻辑设备到物理设备的映射机制,在该机制下,用户能够很方便的根据自己的需要实现对存储资源的管理。在具体管理时需要用到Linux下的逻辑卷管理器,当前比较流行的逻辑卷管理器有 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper Raid Tool)等
udev 是Linux kernel 2.6系列的设备管理器。它主要的功能是管理/dev目录底下的设备节点。它同时也是用来接替devfs及热插拔的功能。
tmpfs,临时文件系统,是一种基于内存的文件系统,它和虚拟磁盘ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储,而且传统的ramdisk是个块设备,要用mkfs来格式化它,才能真正地使用它;而tmpfs是一个文件系统,并不是块设备,只是安装它,就可以使用了。tmpfs是最好的基于RAM的文件系统。
在Linux 下硬盘分区的表示是通过hdx 或 sdx 表示的
IDE 硬盘在Linux或者其它类Unix系统的一般表示为 hd* ,比如hda、hdb … ;有时可能只有一个硬盘,在操作系统中看到的却是 hdb ,这与硬盘的跳线有关;另外hdc 大多表示是光驱设备;
SCSI 和SATA 硬盘在Linux通常表示为 sd* ,比如sda 、sdb …。 我们可以通过 fdisk -l 来查看。
none,一般表示这个分区是特殊的无设备文件系统,一般常见的是 tmpfs、proc、sysfs 等,这些目录都是系统专用,不要自己随便卸载某些目录。
可以通过 df -T 显示文件系统的类型:
root@ubuntu:/# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext4 19478204 4956292 13509432 27% /
none tmpfs 4 0 4 0% /sys/fs/cgroup
udev devtmpfs 502424 4 502420 1% /dev
tmpfs tmpfs 102472 1416 101056 2% /run
none tmpfs 5120 0 5120 0% /run/lock
none tmpfs 512352 152 512200 1% /run/shm
none tmpfs 102400 44 102356 1% /run/user
分区大小调整
1,首先,查看一下系统的空间分配情况,我们需要增大VolGroup-lv_root分区。
[root@CentOS-78 /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root 50G 14G 34G 30% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 485M 37M 423M 8% /boot
/dev/mapper/vg_centos-lv_home 404G 670M 382G 1% /home
2,查询卷组的信息,其中的 Free PE / Size 指定的是现在可在分配的空间。
[root@CentOS-78 /]# vgdisplay
--- Volume group ---
VG Name vg_centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 465.27 GiB
PE Size 4.00 MiB
Total PE 119109
Alloc PE / Size 86472 / 337.78 GiB
Free PE / Size 32637 / 127.49 GiB
VG UUID 1k4ooN-RFV9-uyf1-uMYf-aERG-YaGs-ZNoSD6
3,下面将可用的空间添加到vg_centos-lv_root分区上面,如果可分配的空间不足,先执行第5步。
[root@CentOS-78 /]# lvextend -L +127.40G /dev/mapper/vg_centos-lv_root
Rounding up size to full physical extent 127.40 GiB
Extending logical volume lv_root to 177.40 GiB
Logical volume lv_root successfully resized
从新设定该分区的大小:
[root@CentOS-78 /]# resize2fs -p /dev/mapper/vg_centos-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_centos-lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 12
Performing an on-line resize of /dev/mapper/vg_centos-lv_root to 46504960 (4k) blocks.
The filesystem on /dev/mapper/vg_centos-lv_root is now 46504960 blocks long.
4,再次查看分区大小,我们发现vg_centos-lv_root分区的空间已经增加了125G。
[root@CentOS-78 /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root 175G 14G 153G 9% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 485M 37M 423M 8% /boot
/dev/mapper/vg_centos-lv_home 404G 670M 382G 1% /home
5,如果可分配空间不足,我们将从vg_centos-lv_home分区下取出100G的空间添加到/vg_centos-lv_root分区上去:
(1)卸载vg_centos-lv_home分区,此时用df命令查看将会发现/home目录已经看不见了,如下所示:
[root@CentOS-78 /]# umount /home
[root@CentOS-78 /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
50G 14G 34G 30% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 485M 37M 423M 8% /boot
(2)重新设定vg_home-lv_home的大小:
[root@CentOS-78 /]# resize2fs -p /dev/mapper/vg_centos-lv_home 304G
resize2fs 1.41.12 (17-May-2010)
Please run 'e2fsck -f /dev/mapper/vg_centos-lv_home' first.
//系统提示我们先运行下面的命令,操作如下:
[root@CentOS-78 /]# e2fsck -f /dev/mapper/vg_centos-lv_home
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vg_centos-lv_home: 1386/26836992 files (0.9% non-contiguous), 1855856/107344896 blocks
// 重新设定vg_home-lv_home的大小:
[root@CentOS-78 /]# resize2fs -p /dev/mapper/vg_centos-lv_home 304G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vg_centos-lv_home to 73924608 (4k) blocks.
Begin pass 2 (max = 43)
Relocating blocks XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 3276)
Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 4 (max = 266)
Updating inode references XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/mapper/vg_centos-lv_home is now 73924608 blocks long.
(3)挂载、检查是否成功:
[root@CentOS-78 /]# mount /home
[root@CentOS-78 /]#
[root@CentOS-78 /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
50G 14G 34G 30% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 485M 37M 423M 8% /boot
/dev/mapper/vg_centos-lv_home
304G 663M 263G 1% /home
[root@CentOS-78 /]#
(4)下面这个命令是将已经减少的100G空间拿到系统公共的区域,可以被其他分区加载和利用。跳到第2步,继续执行即可。
[root@CentOS-78 /]# lvreduce -L 100G /dev/mapper/vg_centos-lv_home
WARNING: Reducing active and open logical volume to 282.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_home? [y/n]: y
Reducing logical volume lv_home to 282.00 GiB
Logical volume lv_home successfully resize