首页 > 代码库 > Linux磁盘及文件系统管理进阶
Linux磁盘及文件系统管理进阶
目录
1.mkfs介绍 2.文件系统的挂载使用(mount) 3.练习 4.fuser使用
1.mkfs介绍:mkfs.ext2 /dev/sdb1
[root@localhost ~]# mkfs.ext2 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2621440 blocks
131072 blocks (5.00%) reserved for the super user //为了当分区沾满时,为管理员留空间去挪数据,实现管理
第一个数据块=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: //超级块备份的位置
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: 完成
正在写入inode表: 完成
Writing superblocks and filesystem accounting information: 完成
2.文件系统的挂载使用
文件系统的使用:
首先要“挂载”:mount命令和umount命令
根文件系统之外的其他fs要想能够被访问,都必须通过“关联”至根fs上的某个目录来实现,此关联操作即为“挂载”
挂载点:用于作为另一个文件系统的访问入口
(1)实现存在
(2)应该使用未被或不会被其他进程使用的目录
(3)挂载点下原有的文件将会隐藏
mount [-lhV]
mount -a [-fFnrsvw] [-t vfstype] [-O optlist]
mount [-fnrsvw] [-o option[,option]...] device|dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
umount device|dir
//正在被进程访问到的挂载点无法被卸载
-l 是默认选项,list
-n -notmab //不写入/etc/mtab ,挂载点记录文件
//默认设备挂载或卸载的操作,会同步更新/etc/mtab
-r read-only //光驱只能被只读挂载
-w read-write //默认
-v verbose
-t 指定fs类型可省略,mount将会通过blkid命令来判断类型
/etc/filesystems
-L label //以卷标方式挂载
mount -L MYDATA /tmp/test
-U UUID //挂载时以UUID的方式指明设备
-a //挂载所有 /etc/fstab
不带参数,显示所有的已经挂载的fs
cgroup 是什么
-o options挂载属性
注:有些选项只能用在/etc/fstab文件中
async 异步写入
sync 同步写入
-atime/noatime 当一个文件或目录被访问的时候立即更新时间戳
//关闭较好
diratime/nodiratime 目录在被访问时是否更新时间戳
remount 重新挂载
-o acl 支持使用facl功能
//默认挂载是不支持facl的
tune2fs -o acl /dev/sdb1 //对设备启用acl,再次mount的时候即使不指定-o,acl也可以使用acl
tune2fs -l /dev/sdb1 //查看选项
mount /dev/sdb1 /mnt
mount //会显示,没有acl
但是setfacl -m u:wolf:rw-- 仍然可以使用
ro 只读
rw 读写
dev/nodev //此设备上是否允许创建设备文件
exec/noexec //是否允许运行此设备上的程序文件
//防止非法程序,自动运行
auto/noatuto //是否允许mount -a自动挂载
user/nouser //是否允许普通用户挂载此fs
defaults:默认//
rw,suid,dev,exec,auto,nouser,async,relatime
suid:是否允许程序文件上的suid和sgid权限生效,nosuid禁止生效
relatime:是否一局mtime和ctime来修改atime
一个使用技巧:
可以实现将目录绑定在另一个目录上,作为其临时访问入口
mount --bind /etc /mnt
查看当前系统已经挂载的设备
mount
cat /etc/fstab
cat /etc/mtab
cat /proc/mounts
挂载光盘设备
mount -r /dev/cdrom /mnt -o iso9660
/dev/sr0就是cdrom
挂载U盘:实现识别U盘的设备文件
强制卸载:设备
lsof /mnt //显示占用目录的进程
yum install psmisc
www.rpmfind.net
rpm -ql psmisc
fuser -km /mnt //删除该进程即可
fuser -v MOUNT_POINT //查看谁在占用
挂载本地回环设备:
mount -o loop /PATH/TO/SOME_LOOP_FILE
img,iso文件
交换分区:
创建交换分区:mkswap
swapon [OPTION] [DEVICE]
-a //定义在/etc/fstab文件中的所有的swap设备
swapoff
设定除根fs意外的其他fs开机自动挂载,使用/etc/fstab文件
开机的时候运行了一个脚本,该脚本会调用fstab
/dev/mapper/centos-swap swap swap defaults 0 0
1.挂载设备:
设备文件,LABEL,UUID,伪fs:sysfs proc tmpfs
2.挂载点: swap类型的挂载点为swap
3.fs_type:
4.挂载选项:
defaults,使用默认的挂载选项
多个使用,分隔:defaults,acl,noatime
5.转储频率
0 从不备份
1 每天备份一次
2 每隔一天备份一次
6.自检次序
0 不自检
1 首先自检,通常是根fs可用1
2 次级自检
...
LABEL=MYDATA /mydata ext4 defaults 0 0
UUID=......... //也可以
df和du
df命令
-h 人性化显示
-l 只显示本地fs,否则会显示所有的包括网络fs
-i inode使用情况而非blocks
du 显示文件大小
-s summary总共大小
-h human-readable
3.练习:
1.创建一个10G的分区,并格式化为ext4的fs
(1)block大小为2048,预留空间为2%,卷标为MYDATA
mkfs.ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1
(2)挂载/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳
mount /dev/sdb1 /tmp/test -o noexec,noatime
或者使用tune2fs
2.创建一个1G的swap分区,开机自动挂载
vim /etc/fstab
4.fuser的使用详解:
-c|-m 用于posix支持
-k 杀掉访问文件的进程
-i 杀掉进程之前询问用户
-u 显示用户
-V 显示详细信息
显示的内容:
Linux磁盘及文件系统管理进阶