Linux磁盘操作

来源:互联网 发布:淘宝一件代发是真的吗 编辑:程序博客网 时间:2024/06/05 15:31

分区查看

df命令可以展示任何“mounted”文件系统的磁盘利用率。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

df 参数:
这里写图片描述

示例:

$ df -hFilesystem               Size  Used Avail Use% Mounted on/dev/mapper/ubuntu-root  909G  565G  299G  66% /none                     4.0K     0  4.0K   0% /sys/fs/cgroupudev                     3.9G  4.0K  3.9G   1% /devtmpfs                    785M  1.2M  784M   1% /runnone                     5.0M     0  5.0M   0% /run/locknone                     3.9G   63M  3.8G   2% /run/shmnone                     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 -TFilesystem     Type     1K-blocks    Used Available Use% Mounted on/dev/sda1      ext4      19478204 4956292  13509432  27% /none           tmpfs            4       0         4   0% /sys/fs/cgroupudev           devtmpfs    502424       4    502420   1% /devtmpfs          tmpfs       102472    1416    101056   2% /runnone           tmpfs         5120       0      5120   0% /run/locknone           tmpfs       512352     152    512200   1% /run/shmnone           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
原创粉丝点击