Linux磁盘操作

分区查看

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

其中,

  1. mapper 表示的是磁盘阵列。Device mapper是Linux2.6内核中提供的一种从逻辑设备到物理设备的映射机制,在该机制下,用户能够很方便的根据自己的需要实现对存储资源的管理。在具体管理时需要用到Linux下的逻辑卷管理器,当前比较流行的逻辑卷管理器有 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper Raid Tool)等

  2. udev 是Linux kernel 2.6系列的设备管理器。它主要的功能是管理/dev目录底下的设备节点。它同时也是用来接替devfs及热插拔的功能。

  3. tmpfs,临时文件系统,是一种基于内存的文件系统,它和虚拟磁盘ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用RAM,但它也可以使用swap分区来存储,而且传统的ramdisk是个块设备,要用mkfs来格式化它,才能真正地使用它;而tmpfs是一个文件系统,并不是块设备,只是安装它,就可以使用了。tmpfs是最好的基于RAM的文件系统。

  4. 在Linux 下硬盘分区的表示是通过hdx 或 sdx 表示的

    • IDE 硬盘在Linux或者其它类Unix系统的一般表示为 hd* ,比如hda、hdb … ;有时可能只有一个硬盘,在操作系统中看到的却是 hdb ,这与硬盘的跳线有关;另外hdc 大多表示是光驱设备;

    • SCSI 和SATA 硬盘在Linux通常表示为 sd* ,比如sda 、sdb …。 我们可以通过 fdisk -l 来查看。

  5. 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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值