磁盘管理
本文将从以下几方面介绍
第一部分:磁盘管理
-
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