Linux磁盘管理

4.1-4.13 df, du, 磁盘分区,磁盘格式化,磁盘挂载,手动增加swap空间

df

df 的作用是查看已挂载的磁盘的总容量,使用方式,剩余容量等。在不加参数的情况下默认以kb为单位显示。df是disk filesystem的缩写。

可添加的参数有-i 查看inode的使用情况,-h表示已人能读懂的单位显示,-k和-m则是以KB和MB显示。示例如下,未挂载的磁盘不会在df中显示。

[root@centos-01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        22G  1.2G   21G    6% /
devtmpfs        1.4G     0  1.4G    0% /dev
tmpfs           1.4G     0  1.4G    0% /dev/shm
tmpfs           1.4G  8.6M  1.4G    1% /run
tmpfs           1.4G     0  1.4G    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs           277M     0  277M    0% /run/user/0

[root@centos-01 ~]# df -i
文件系统          Inode 已用(I)  可用(I) 已用(I)% 挂载点
/dev/sda3      11468288   32474 11435814       1% /
devtmpfs         351824     399   351425       1% /dev
tmpfs            354276       1   354275       1% /dev/shm
tmpfs            354276     460   353816       1% /run
tmpfs            354276      16   354260       1% /sys/fs/cgroup
/dev/sda1        102400     330   102070       1% /boot
tmpfs            354276       1   354275       1% /run/user/0

du

du的用途是查看文件或者目录的大小。du是disk useage的缩写。使用时需要在命令后写上需要查看的文件或者目录的路径。

常用的参数有:
-a 表示列出全部文件和目录的大小。如果不加,只显示目录和子目录的大小,文件大小不显示。
-b -k -m分别表示以B,KB和MB显示。如果不添加参数,默认为KB显示。
-h表示以合适的方式显示,以让人可以看懂。
-c表示最后加总。
-s表示只列出总和,不列出子目录和文件。

最常用的方式是du -sh /dirtest

磁盘分区

磁盘分区需要用fdisk命令,fdisk是Linux上的磁盘分区工具,但是只能划分小于2TB的分区。

命令使用格式为fdisk [-l] [设备名称] ,如果只输入fdisk,不会有任何功能。

  • 如果fdisk -l 不加设备名称,那么会显示系统中所有的磁盘设备以及分区表,无论是否挂载。
  • 如果fdisk -l 加上设备名称,则会显示此设备的分区信息。
  • 如果fdisk 加上设备名称但是没有-l,则会进入分区操作模式。

分区模式中,选项有:

  • p 打印当前的分区表
  • n 新建一个分区
  • d 删除一个分区
  • w 保存
  • q 退出

新建分区时,可选的分区类型有主分区p和扩展分区e,但是在Linux系统中,一个磁盘只能有4个主分区,如果想多建几个分区,只能最多设三个主分区,留一个分区用作扩展分区,然后在扩展分区里设置逻辑分区。

逻辑分区的id从5开始,因为前4个id为主分区或者扩展分区预留。

磁盘格式化

磁盘分区后还不能直接使用,需要先进性格式化,才能挂载并使用。常见的格式有ext2,ext3,ext4以及xfs。可以使用的命令有mke2fs以及mkfs。

mke2fs支持ext2,ext3,ext4格式,但是不支持xfs格式。如果想使用xfs格式需要用mkfs命令。
mke2fs可选的参数有:
- b 表示每个数据区块占用的空间大小。分别为1024B,2048B,4096B。
- i 表示设定inode的大小。
- N设定inode的数量。
- L预设该分区的标签。
- t 用来指定文件系统的类型,如果不指定则默认为ext2,而ext2的性能比较低,所以不应该使用默认设置。

通过新建一个空文本文件,里面添加几个文字。然后du -h 文件名 可以间接查看block的大小。

[root@centos-01 ~]# mke2fs -t ext4 /dev/sdb4   //mke2fs使用示例
[root@centos-01 ~]# mkfs.xfs -f /dev/sdb1      //mks使用示例。如果磁盘上已有文件系统,应该先umount分区然后加-f强制安装新的文件系统。

格式化分区时,应该确保磁盘处于umount状态下,否则不能进行格式化操作。

e2label可以用于修改分区的标签,但只支持ext格式不支持xfs格式。

e2label /dev/sdb1 test123 //更改sdb1的label为test123

磁盘挂载

磁盘挂载使用mount命令,挂载点为一个目录,并且一个目录下只能挂载一个磁盘。所以在挂载之前,需要确保目录为空。卸载命令是umount。使用示例为:

mount /dev/sdb1 /mnt  //挂载sbd1到/mnt目录下

/etc/fstab 文件

fstab文件记录了系统启动时需要挂载的分区,各列含义为:
第一列,分区的标示,可以写uuid也可以写lable
第二列是挂载点
第三列是分区格式
第四列是挂载参数,一般情况下默认defaults即可
第五列表示是否被dump备份,0表示不备份,1表示备份
第六列表示开机是否自检磁盘。1,2都表示检测,0表示不检测,自检时1比2的优先级高,先检测1再检测2

第四列常用的选择有:
async/sync 表示是否把内存中的数据同步写入磁盘,默认为async,因为如果同步写的话磁盘会太过于繁忙
defaults 表示包含了rw,suid,dev,exec,auto,nouser和async。
rw为读写模式
ro为只读模式
exec/noexec 表示是否允许文件执行
user/nouser表示是否允许root意外的用户挂载

[root@centos-01 ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Tue Oct 24 05:21:49 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=0af5d8af-c23c-4f88-8afc-8d56b6e67837 /                       xfs     defaults        0 0
UUID=954cb514-2d18-4bfa-bd78-e4325890960f /boot                   xfs     defaults        0 0
UUID=549d0d42-f481-4d1a-8c23-9fe3752e801e swap                    swap    defaults        0 0

如果我们在上述文件中添加一行:

LABEL=test123            /newdir     ext4     defaults      0    0 

然后运行 mount -a

此时我们会开到label为test123的磁盘sdb1已经挂载在/newdir目录下。

mount -a的作用是让/etc/fstab中出现的所有磁盘分区挂载上。

磁盘卸载

磁盘卸载用umount命令,umount后可以跟挂载点也可以跟磁盘名但是不能跟uuid或者label。

当卸载遇到问题时,可以加上选项-l进去懒人卸载模式。

mount /mnt            //卸载目录mnt下挂载的磁盘sdb1

手动增加swap空间

swap分区称为交换分区,类似于windows的虚拟内存。当swap不够用时,我们需要手动增加虚拟磁盘。

思路为:建立swapfile,格式化为swap格式,启用该虚拟磁盘。

dd if=/dev/zero of=/home/swap bs=1M count=1024  //用造零器/dev/zero制造1024M的文件
mkswap /home/swap       //格式化为swap文件
swapon /home/swap       //挂载swap分区
vim /etc/fstab
在最后一行增加 /home/swap swap swap default 0 0 以避免重启后增加的swap空间消失

删除swap空间的思路正好相反:

swapoff /home/swap 
rm -rf  /home/swap


vim /etc/fstab
在最后一行删除 /home/swap swap swap default 0 0 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值