磁盘管理
本文将从以下几方面介绍
第一部分:磁盘管理
-
1、浅识Linux磁盘
-
2、常见命令
第二部分:文件系统管理
-
1、文件系统的创建
-
2、文件系统挂载
-
3、自动挂载配置文件
第一部分:磁盘管理
浅识Linux磁盘
对于Linux来说我们知道一切皆文件,同样在Linux中硬件设备在系统上会映射成相对应的文件,我们就像是在Windows看文件一样只要打开对应的文件就能访问放在硬件中的信息。下面我们来看看一些与磁盘有关的简单命令
常见命令
1、查看空间使用状态
free
-m : 以M为单位显示
-g : 以G为单位显示
-h : 人类易读形式显示
[root@Centos6 ~]#free -h
total used free shared buffers cached
Mem: 980M 625M 355M 2.1M 77M 238M
-/+ buffers/cache: 308M 672M
Swap: 2.0G 0B 2.0G
2、文件系统磁盘占用情况
df
-T : 显示文件系统类型
-h : 以人类易读的形式显示
-i : 显示inode号
[root@Centos6 ~]#df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 ext4 50264772 5054532 42650240 11% /
tmpfs tmpfs 502056 76 501980 1% /dev/shm
/dev/sda3 ext4 40185208 181224 37955984 1% /app
/dev/sda1 ext4 999320 34944 911948 4% /boot
/dev/sr0 iso9660 3878870 3878870 0 100% /media/CentOS_6.9_Final
3、查看某目录总体空间占用情况
du
-s : 摘要
-h : 以人类易读的形式显示
[root@Centos6 ~]#du -sh /etc
42M /etc
4、转换、复制文件
dd if=/path/to/file of=/path/to/file [bs|obs|cbs]=#[k|M|G] count skip seek
if : inputfile
of : outputfile
bs : 指定块大小
ibs: 一次读#个字节
obs: 一次写#个字节
cbs:一次转换#个字节
count: 复制#个bs块
skip: inputfile中从头跳过#个ibs大小的块
seek: outputfile中从头跳过#个ibs大小的块
[root@Centos6 ~]#dd if=/dev/sda of=/dev/null bs=1M count=1024 #测试磁盘读能力
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.45514 s, 311 MB/s #可以看出速度还是不错的
这里分享一个修复硬盘的方法(适用于长时间不用的磁盘,非物理性破坏状态下)硬盘长时间不用,会 产生消磁点,当这种情况影响到磁盘的第一个删去时,可能会导致磁盘不能用 使用命令:
dd if=/dev/sda of=/dev/sda #这里以sda为例
该命令可使消磁点数据恢复,并且整个过程是安全的
第二部分:文件系统管理
文件系统的创建
在Linux中有较多的文件系统类型我们知道的有ext2、ext3、ext4、xfs等
根据是否支持日志功能可将其分为
日志型文件系统: ext3、ext4、xfs
非日志型文件系统: ext2、vft
首先我们先来了解一下,文件系统在Linux中如何通过命令创建的
1、创建分区
fdisk 命令
在创建分区时会有提示信息,按照提示进行选择即可
eg : fdisk /dev/sda # 对/dev/sda 进行分区
一般在创建完分区后需要查看内核是否已经识别新的分区
查看方法:
cat /proc/partition
如果没有查看到新的分区,需要通知内核重新读取
centos6 : partx -a /dev/sda
centos7 : partprobe
2、管理分区 在创建好后怎样去使用管理分区呢,接下来进行一一说明
管理分区的工具
(1)、创建文件系统
mkfs
-t [ext2 | ext3 | ext4] <==> 等同于mkfs.ext2 | mkfs.ext3 | mkfs.ext4: 修改文件系统类型
-L : 修改卷标名
mke2fs (ext专用文件管理系统)
-t : 修改文件系统类型
-L : 修改卷标
-b : 修改block(块)大小,默认4096
-j : 等同于 -t ext3
-i# : 一个inode对应多少字节,默认8192
-m# : 预留的空间百分比,默认为%5
(2)、管理文件系统 (重新设定ext文件系统参数值)
tune2fs
-l DEVICE : 查看系统块信息 ,其实命令 dumpe2fs -h DEVICE 也能查看设备块(超级块)信息
-j : ext2-->ext3
-L : 修改卷标
-m#: 修改预留空间百分比
-o [^]: 开启或关闭指定挂载选项
-U UUID: 修改UUID值,生成随机UUID命令为uuidgen
查看指定块设备的属性信息
blkid
-L : 查看卷标名对应的磁盘分区
-U : 查看UUID对应的磁盘分区
修复文件分区
注意: 在进行修复的过程中必须取消挂载状态,不能在线检查修复
fsck
-a : 自动修复
-r : 人机交互式
专门用于ext文件系统检查
e2fsck
-y : 在修复是自动回答为yes
-f : 强制进行检查
文件系统的挂载
在创建好文件系统并格式化后怎样去使用它呢,将其挂载到设备文件上我们就可以使用了
(1)、挂载命令
mount
-L : 指定卷标名挂在设备
-U : 以UUID方式挂在设备
-a : 自动挂载/etc/fstab中的挂载关系
-n : 挂载时不更新/etc/fstab
-B --bind : 将目录挂到目录上
-o [option]:
loop : 挂载回环设备,将文件挂到目录上
remount : 重新挂载或不卸载重新挂载指定选项
acl : 支持使用acl选项
user|nouser : 是否允许普通用户挂载此设备
(2)、卸载
umount DEVICE
当被挂载的文件系统正在使用是不能被卸载的,遇到这种情况我们可以这样解决
一、查看挂载情况
findmnt DEVICE
二、查看正在访问文件系统的进程
lsof DEVICE 或 fuser -v DEVICE
三、终止正在访问指定的文件系统进程
fuser -km DEVICE
四、卸载
自动挂载配置文件 (/etc/fstab)
首先我们先打开它看看,是什么样子的
[root@Centos6 ~]#cat /etc/fstab
UUID=ef20e35d-b3b0-4bb0-a7f0-b6da5f9478ea / ext4 defaults 1 1
UUID=bad2ae77-157a-4e40-a1c0-8d67af3cc105 /app ext4 defaults 1 2
UUID=90739410-fd0f-4419-900a-2b981300f2d0 /boot ext4 defaults 1 2
UUID=97172ba1-b115-4e5a-b739-8f2b2b309115 swap swap defaults 0 0
来解释一下每个字段的含义
第一字段 : 挂载的设备
(1)设备文件
(2)卷标名
(3)UUID
第二字段 : 挂载点
第三字段 : 文件系统类型
(1)ext2、ext3、ext4等
第四字段 : 挂载选项
mount 命令中的选项,默认为default
第五字段 : 备份频率
0 : 从不
1 : 每天
2 : 每隔一天
第六字段 : 自检次序
0 : 不自检,即使有错误在不自检的情况下也不会影响系统正常开机
1 : 首先自检,通常只有根 "/"才会需要首先自检
2 : 次级自检,不同设备可以使用同一自检次序
在/etc/fstab文件下实现
1、目录挂载目录
eg : /boot /mnt/boot none bind 0 0
2、文件挂载目录
eg : /app/file /mnt/boot ext4 loop fefault 0 0
3、挂载Windows共享文件
eg : //192.168.x.x/sharefile /mnt/share ext4 cifs default ,username=xxx,password=*** 0 0
原创文章,作者:M25_ymd,如若转载,请注明出处:http://www.178linux.com/84801

