Linux学习笔记第4章 Linux磁盘管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习笔记第4章 Linux磁盘管理相关的知识,希望对你有一定的参考价值。
4.1df命令
df 查看文件系统磁盘空间使用情况。
文件系统 磁盘总大小(kB) 已使用 可用 已用% 挂载点(目录)
Linux磁盘不能直接访问,必须要有一个挂载点。
参数:
-h 可根据磁盘大小显示适当的单位。
带有tmpfs代表临时的文件系统,重启之后会自动消失。
/dev/shm代表内存,占物理内存的一半。
-i 查看分区下inode数量及使用情况。
创建好分区,格式化之后,就预分配好了分区大小以及inode数量。当inode使用量满了的时候,即便磁盘空间还有剩余,也不能写进数据了。
-m 以M为单位显示。
free 查看剩余空间,可加-m参数以M为单位显示。
4.2du命令
du 参数 dir/filename 查看文件大小。
参数:
-s 只查看所写目录总和,不查看子目录。
-h 自动调节单位。
常用du -sh dir/filename
每个块只能有一个文件。
4.3磁盘分区(上)
服务器支持热插拔磁盘。
fdisk -l 列出系统中所有的磁盘和分区表。
fdisk -l 设备名称 显示相应设备的信息。
在虚拟机中,新添加了磁盘分区,fdisk -l未显示新添加的磁盘,说明还未识别,需要reboot重启,再fdisk -l查看。
若没有-l选项,fdisk 设备名称将进入对磁盘进行分区操作的模式。根据提示,输入m,可获取帮助信息,在里面如果输入错误,需要按Ctrl+U删除错误的输入。
n 增加新分区new。
p 列出分区print。
w 保存write。
d 删除分区delete。
输入n创建分区,会出现选项:
p 主分区
e 扩展分区
MBR分区,最高支持2T,最多4个主分区,若要划分多个分区,可先划分3个主分区,最后一个分区划分为扩展分区,扩展分区可继续划分为多个逻辑分区。主分区+扩展分区<=4个。
输入相应命令后,根据提示设置分区号及起始扇区、结束扇区(+扇区或+size{K,M,G})。
当4个主分区划分完之后,将提示不能再新建分区,若要再建一个分区,需要先删掉一个分区。
当4个分区创建完毕,若有扩展分区,再创建新的分区时,会提示添加逻辑分区5。根据相应提示完成创建。
4.4磁盘分区(下)
d 删除分区后,若删除主分区,分区号留空,若删除逻辑分区,后面的会往前补上,分区号不留空。
创建或删除分区后,需要按w保存,若不保存,按q退出,将不保存当前的所有操作。
若创建了扩展分区后,主分区+扩展分区\<4个,再创建分区时将提示:
p 创建主分区。
l 创建逻辑分区。
主分区或扩展分区号可以不连续,但逻辑分区号必须从5开始,连续。
扩展分区可以划分空间,但真正占有空间的是其中的逻辑分区,因而扩展分区中不能写数据,也不能格式化。
4.5磁盘格式化(上)
Windows系统支持NTFS、fat格式。
Linux系统支持的文件格式可cat /etc/filesystems查看。Centos6及之前版本使用ext格式,从centos7开始,改为了xfs格式。但可格式化为ext格式。
创建分区之后,进行格式化,使用mke2tf命令。
mke2fs 参数 设备名称
参数:
-t 格式 指定格式化后的文件系统格式(ext4/3/2等,mke2fs不支持格式化为xfs格式。)。如果不指定格式,将默认为ext2格式(可使用后面提到的blkid命令查看到未挂载的设备文件格式)。
-b SIZE 指定块大小(B)。du -sh所查看到的是块的总大小,而du -sb所查看到的是文件的实际占用大小,跟ls -l查看到的大小一致。
mkfs.ext4<=>mke2fs -t ext4 (3,2类似)。
当已经存在文件格式,重新格式化的时候,会提示加-f选项强制格式化。
mke2fs不支持格式化为xfs格式,但可以用mkfs.xfs来满足格式化为xfs格式的需求。
格式化之后,由于还未挂载到任何挂载点,使用mount是无法查看到的。
blkid [设备名称] 可查看到还未挂载的设备
4.6磁盘格式化(下)
mke2fs 参数 设备名称
参数:
-m SIZE 指定分区预留大小百分比(1代表1%)。
单文件系统存放的都是视频音乐等大型文件时,可将块大小设置大一些,可加快读取。
-i SIZE 指定多少字节对应一个inode,至少一个块大小才能对应一个inode(若不指定,默认4个块对应一个inode)。
4.7磁盘挂载(上)
一个磁盘可以不分区,直接格式化。
mount 设备名称/UUID 挂载点 挂载设备(如:mount /dev/sdb /mnt/)。
umount 设备名称/挂载点 卸载磁盘。
若在挂载点内,将提示目标忙,无法卸载相应磁盘。
若在挂载点内,要卸载相应磁盘,可使用
umount -l 挂载点 参数l表示懒得退出去。
4.8磁盘挂载(下)
mount -o 具体选项
-o 具体选项(man mount查看具体选项,在man内查找:/defaults可看到defaults所包含的选项,选项前加no,表反义。而async反义sync,sync内存随时同步到磁盘,会加重负担,默认async,不实时同步,过一会儿同步一次)。
系统文件/etc/fstab 中配置系统启动时挂载的磁盘分区(man fstab),6列:
UUID/设备名称 挂载点 分区格式 挂载选项(默认defaults) 是否备份(0/1) 设置优先级是否检测(0(不检测)/1(高级:根)/2(低级:其他)。
挂载也可以是将UUID写到配置文件/etc/fstab中去。
4.9手动增加swap空间
当前期swap空间分配不够的时候,需要手动增加swap空间。
dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
dd命令操作磁盘空间;if指定读取位置,/dev/zero是Linux系统里的到0器,能源源不断地产生0;of指定(将前面的0)写入的位置;bs指定块大小;count指定of指定位置的块的数量。
创建完成之后,可du -sh /tmp/newdisk查看。
创建完虚拟磁盘之后,需要格式化。
swap是一种特有的文件系统,需要使用mkswap命令
mkswap -f /tmp/newdisk 格式化
格式化完成之后,需要将改磁盘空间加载到现在的swap空间里面去。
swapon /tmp/newdisk 将改磁盘空间加载到swap空间。
此时会提示权限不安全,但仍然能加载上去,为了安全起 见,根据建议修改权限。
不用了的时候,可卸载该磁盘空间。
swapoff /tmp/newdisk 卸载该磁盘。
rm -f /tmp/newdisk 删掉该磁盘。
4.10lvm讲解(上)
磁盘分区重组再分配。
磁盘:物理磁盘。
分区:创建为物理卷。
重组:卷组(物理卷的组合)。
再分配:逻辑卷LVM(Logical Volume)。
最后将逻辑卷LVM格式化,挂载使用。
准备一个磁盘,fdisk /dev/sdb查看信息。
创建三个分区。可以发现分区Id为83,System为Linux,说明是普通的分区,要使用LVM,需按t,根据提示,改为8e,此时p打印出来,可以发现Id变为了8e,System变为了Linux LVM。
磁盘分区准备完成后,创建为物理卷,使用pvcreate命令,需要先安装lvm包(yum install -y lvm)。
根据命令搜索安装包:yum provides “//command”
yum provides “//pvcreate” 可搜索到pvcreate命令所需的安装包及版本。
若创建完成之后,系统没有生成相应文件,ls /dev/sdb1查询不到。运行partprobe命令,再ls /dev/sdb1即可查看到。一般创建完成后能自动生成文件。
partprobe 磁盘分区 命令无法对已挂载的磁盘使用,需要先取消挂载,才能创建物理卷。
partprobe /dev/sdb1 创建物理卷(2、3类似)。
4.11lvm讲解(中)
物理卷创建完成之后:
pvdisplay 查看系统中所有物理卷信息。
pvs 也可查看当前的所有物理卷。
vgcreate 卷组名 物理卷1 [物理卷2]…… 创建卷组。
vgcreate vg1 /dev/sdb1 /dev/sdb2
vgdisplay 查看卷组信息。
vgs 也可查看卷组信息。
lvcreate -L SIZE -n LVNAME VGNAME
-L指定大小。
-n指定名字LVNAME。
从VGNAME里面划分出来。
lvcreate -L 100M -n lv1 vg1 从vg1里面划分出lv1,大小为100M。
创建完成后,对逻辑卷LVM格式化。
mkfs.ext4 /dev/vg1/lv1 对lv1格式化。
mount /dev/vg1/lv1 /mnt/ 挂载/dev/vg1/lv1,挂载点/mnt/。
扩容逻辑卷:
lvresize -L SIZE LVM 指定LVM新的大小,扩容。扩容之前应该先取消挂载。
umount /mnt/ 取消挂载。
lvresize -L 200M /dev/vg1/lv1 将/dev/vg1/lv1扩大到200M。
e2fsck -f /dev/vg1/lv1 检查磁盘,看是否存在错误。
resize2fs /dev/vg1/lv1 更新逻辑卷信息,更新之后,再挂载,才能识别新的大小。
mount /dev/vg1/lv1 /mnt/ 挂载。
缩减逻辑卷(xfs格式不支持缩容):
umount /mnt/ 取消挂载。
e2fsck -f /dev/vg1/lv1 检查磁盘,看是否存在错误。
resize2fs /dev/vg1/lv1 100M 更新逻辑卷信息。
lvresize -L 100M /dev/vg1/lv1 将/dev/vg1/lv1缩减到100M。
lvdisplay或lvs查看,可以看到新的逻辑卷为100M,当文件内容不大于逻辑卷总容量时,缩容不会导致逻辑卷内的文件丢失,可在缩容前后ls查看对比验证。
mount /dev/vg1/lv1 /mnt/ 挂载。
e2fsck、resize2fs命令只能针对ext格式的文件系统使用。
4.12lvm讲解(下)
格式化为xfs格式:
umount /mnt/ 取消挂载。
mkfs.xfs -f dev/vg1/lv1 格式化为xfs格式。
mount /dev/vg1/lv1 /mnt/ 挂载。
lvresiize -L 300M /dev/vg1/lv1 扩容到300M(xfs格式扩容不用卸载)
xfsgrowfs /dev/vg1/lv1 必须要在挂载的时候进行该命令操作。
df -h 查看,可以看到已经扩大到300M大小。
逻辑卷空间不能大于卷组空间,当逻辑卷已占用完卷组空间后,需要先扩容卷组,才能再扩容逻辑卷。
vgextend vg1 /dev/sdb3 将/dev/sdb3增加进vg1
vgdisplay 查看卷组信息,可以看到vg1的容量已经增加了/dev/sdb3的大小。
再对逻辑卷进行扩容。
4.13磁盘故障小案例
若挂载磁盘出现问题,不能正常挂载到挂载点,启动的时候发现进入不了系统了。根据提示输入root密码。进入一个类似于正常登陆的界面。编辑/etc/fstab,将自己加入的错误挂载信息删掉。保存退出再重启即可。
以上是关于Linux学习笔记第4章 Linux磁盘管理的主要内容,如果未能解决你的问题,请参考以下文章