0323 Linux磁盘管理
4.1 df命令
4.2 du命令
4.3/4.4 磁盘分区
4.5/4.6 磁盘格式化
4.7/4.8 磁盘挂载
4.9 手动增加swap空间
4.10/4.11/4.12 lvm讲解
4.13 磁盘故障小案例
扩展学习:
parted分区gpt格式 式 http://www.apelearn.com/bbs/thread-7243-1-1.html
一、磁盘格式化
需要主要关注的为已用百分百。
df -h 人性化显示磁盘大小
df -i 查看inodes的使用情况,inodes多少与磁盘大小有关系
二、du命令
用来查看某个目录或文件所占空间的大小
du 【-abckmsh】文件或目录名
常用的命令格式有 du -sh+文件名
三、磁盘分区(一)
平时工作中会给一个系统增加一个磁盘,再去划分分区,再挂载。
四、磁盘分区(二)
1、查看磁盘命令fdisk
fdisk -l 查看当前系统所有磁盘设备及分区表
2、给新磁盘划分分区
(1)磁盘分区fdisk /dev/sdb(q直接退出保存,w保存退出)
输入m获取帮助,再输入p表示打印当前磁盘的分区情况
输入n表示新建一个分区,其中p表示主分区,e表示扩展分区。
选择p划分主分区,最多支持四个分区,如果想要划分更多分区,则建立完第三个分区后,选择e建立扩展分区,再进行新建分区。
d删除分区,添加扩展分区,扩展分区下的为逻辑分区。
(2)直接创建扩展分区后,再新增分区会询问创建主分区还是逻辑分区,逻辑分区都是从5开始,连续的分区。真正占分区写数据的是扩展分区中的逻辑分区,不能直接在扩展分区中写数据,扩展分区只是相当于一个容器。
五、磁盘格式化(一)
磁盘分区好以后,还需要对磁盘进行格式化,格式化其实就是安装文件系统,win中的文件系统有FAT32和NTFS,CentOS7以XFS作为默认的文件系统。/和/boot都是XFS。之前使用的是ext4.
1、格式化磁盘命令mke2fs
-t 指定需要格式化成哪一种文件系统
-b 指定块大小(一个文件写入2字节的数据,就会占用4Kb的块空间)必须是1024的倍数
格式化之后运行mount命令仍然是看不到刚才的磁盘,因为还未挂
载可使用blkid /dev/sdb命令查看未挂载的磁盘。
六、磁盘格式化(二)
文件中存储的清晰的图片,视频之类的,可以指定块大小为8192,,但至少应为4kb
-m 指定分区预留的空间大小
其中4个块对应一个inode,每一个块是4kb,一共是16kb,若想
设置两个块对应一个inode,也就是8kb对应一个inode,可用:
mke2fs -i 8192 -t ext4 /dev/sdb
七、磁盘挂载(一)
不管磁盘有没有分区,都可以格式化磁盘,只有格式化以后,才能够挂载文件系统。磁盘要想访问,必须要挂载到一个挂载点上,挂载点实际上是一个目录。
1、把 /dev/sdb挂载到mount下,挂载命令为:mount /dev/sdb /mnt/
2、卸载磁盘
命令:umount /dev/sdb
之后仍然可继续挂载到该/mnt/目录下
也可以直接卸载挂载点umount (-l) /mnt/
八、磁盘挂载(二)
mount 常用选项:
-o 选择把分区挂载成可读or可写or可执行
重要配置文件
vi /etc/fstab 系统启动,默认都挂载哪些磁盘、哪些分区全部在该配置文件下去查看,
第一列:设备的设备号(如何查看UUID?使用blkid命令)
第二列:挂载点
第三列:分区格式xfs
第四列:挂载选项defaults
第五列:是否备份文件系统
第六列:设置优先级1为要检测,1优先级要高于2
九、手动增加swap空间
dd命令,用来操作磁盘的命令
dd if=/dev/zero of=/tmp/newdisk bs=1M count=100
if:指定从哪里读取,该目录可产生源源不断的0
of:指定将这些0,写入到哪里去
bs:指定每一个块大小,一个块指定为1M
count:100*1M=100M newdisk的大小
使用mkswap命令去格式化,
(1)使用swapon加载到现在的swap上去
(2)使用swapoff卸载该newdisk
十、lvm说明
很方便的缩容或扩容磁盘,但是有很大局限性,如果数据丢失,恢复会很麻烦。
1、准备磁盘分区
2、准备物理卷
(扩展:只知道命令,不知道缺少哪一个包,用yum通配安装)
创建卷组:
创建逻辑卷:
格式化成ext4:
挂载在mnt下:
3、扩容逻辑卷
逻辑卷存在的价值为,能够很方便的去扩容和缩容(用得较少)
检查磁盘是否有错误:
更新逻辑卷信息:
4、缩容逻辑卷
卸载,检查是否有错,缩容为100M
重新设置卷大小 :
挂载:
可见并不会因为缩容导致文件丢失,除非文件大小大于100M,但那时也不会要求去缩容了。