Lecture 8 Additional Storage
Linux上所有的存储设备都需要有一个设备文件对应,这些设备文件位于/dev/目录下。
USB,SCSI,SATA,iscsi设备以sd开头,IDE以hd开头。表示方式:/dev/sd[a-z]N。
这些设备文件由udev创建,特殊文件,没有大小,有主设备号和次设备号。主设备号用于描述这些设备属于哪个总线系统(哪类设备)。属于同一个总线的设备属于同一类设备,一个总线上可以挂载不同的主设备。次设备号用于区别总线上不同的设备。
mknod ,MAKEDEV 创建一个设备
mknod /eev/mydevice [c|b] Major_num Minor_num
手动创建的设备文件在系统重启后会丢失。
/dev/null 黑洞(相当于一个垃圾桶)
/dev/zero 0 零设备 初始化磁盘设备
/dev/random /dev/urandom 随机数
所有字符设备都是线性的。所有的块设备都是随机设备。字符设备和块设备没有大小。
lsmod 显示所有模块的状态信息
modinfo 显示一个模块的摘要信息
modprobe 装载 卸载模块
-r 卸载模块
depmod 生成模块间依赖关系的列表
insmod 需指定具体路径
rmmod 从内核中移除模块
-f 强行卸载
mkinitrd 自动生成一个initrd文件。
--with 用于额外指定附加什么样的模块
sfidsk 可以在脚本中使用的分区工具,可以保存当前磁盘分区的分区表,能够备份磁盘分区
sfidsk -d /dev/sdb > /root/part_back/sdb.partitions 备份
sfidsk /dev/sdb </root/part_back/sdb.partitions 恢复
partprobe 通知内核更新一下分区信息 ,存放位置:/proc/partitions。
格式化磁盘:
mkfs /dev/device 默认是格式化为ext2
mkfs -t ext3=mkfs.ext3
-L label 为磁盘添加卷标
mkfs -t -L MYDEV /dev/sda5
也可以为卷标指定一个UUID(随机数)
blkid 查看id 和卷标
e2label /dev/sda5 查看卷标
设定卷标
e2label /dev/sda5 DEV
mount LABEL=DEV /mnt/test 使用卷标挂载
mke2fs -L label 指定卷标
-j journal 有日志功能 (ext3)
-b 指定block块大小 Specify the size of blocks in bytes。
-c 检查坏块(不常用) Check the device for bad blocks before creating the file system.。
-i bytes/inode 字节和inode的比率。Specify the bytes/inode ratio.
-N 手动指定bytes/inode
overrides the default calculation of the number of inodes that should be reserved for the filesystem (which is based on the number of blocks and the bytes-per-inode ratio). This allows the user to specify the number of desired inodes directly.
-m 预留比例,为管理员所预留的磁盘分区的块数占总数的比例。
Specify the percentage of the filesystem blocks reserved for the super-user.This avoids fragmentation, and allows root-owned daemons, such as sys-logd(8), to continue to function correctly after non-privileged processes are prevented from writing to the filesystem. The default percentage is 5%.
tune2fs 专门用于调整mke2fs创建的文件设备的信息
adjust tunable filesystem parameters on ext2/ext3 filesystems
-L 改卷标
-j 把ext3文件格式转换为ext3格式
-c 指定最大挂载次数,超过指定次数后分区会自检 0 禁用自检。
Adjust the number of mounts after which the filesystem will be checked by e2fsck(8)
tun2fs -c0 /dev/sda5
-i 经过多长时间要自检一次 ,默认180天。
Adjust the maximal time between two filesystem checks
-m 调整预留比例
-r 明确指定保留多少块
-u 保留空间可以供谁用
-o 用于调整默认挂载选项
mount -o 调整默认选项
rw 可读写
suid 允许设定了suid和sgid的执行正常功能
dev 允许启用设备文件
exec 允许执行上面的二进制文件
auto 可以自动挂载
nouser 禁止普通用户挂载此设备
async 异步写入,提高磁盘性能
acl 允许使用acl功能
-t 指定挂载的时候所使用的文件系统类型
mount -o defaults,acl /dev/sda5 /mnt/test
默认显示挂载属性
loop 挂载本地回环设备
mount -o loop /root/boot.iso /mnt/test
user_xattr 允许用户使用文件的扩展属性
mount -o defaults 直接设定默认选项
dumpe2fs 显示一个e2fs文件设备的详细信息
findsfs label 根据卷标来查找设备
findfs LABLE=DEV
remount 重新挂载
/etc/mtab 保留了当前系统上挂载的所有的设备,无论是自动挂载(/etc/fstab)的还是用户手动挂载的
umount -a /etc/mtab
卸载mtab下的文件,即卸载掉所有挂载的设备
fuser -v 显示哪个用户正在访问挂载点
fuser -km 将访问用户强行踢出
再卸载
创建一个交换分区:
mkswap /dev/sda6 将某一个分区格式化为虚拟分区
swapon /dev/sda6 启用虚拟分区
swapoff /dev/sda6 关闭虚拟分区
swapon -a 启用所有交换分区
创建一个交换分区:
dd if=/dev/zero(数据来源) of=/var/local/swapfile(放到哪里去) bs=1k(一次读多大数据块)count=1M(读取多少个这样的数据块)
mkswap /tmp/swapfile
swapon /tmp/swapfile
free 查看
RH131 Lecture 9 User Administration
vipw 编辑/etc/shadow文件 在编辑的时候锁定此文件
vigr 编辑/etc/gshadow文件 在编辑的时候锁定此文件
Quota 磁盘配额: 用于定义某个用户在磁盘上或者某个分区上最多只能使用的磁盘空间,或者最多只能建立的文件的个数。
磁盘配额在内核中实现,实际上是在文件系统上实现的,跟文件系统相关。只能对一个分区来做。
两种配额标准:空间配额:定义一个用户最多只能使用多少个磁盘块,以k为单位。
文件配额:定义一个用户最多只能使用多少个文件。
两种配额类型:软限制:可以超出限定的配额数。
硬限制:无论如何不能超过。
二者可以结合起来使用。
磁盘配额对管理员无效。
在文件系统上,使用磁盘配额时要在分区上指定特殊的挂载选项。
两种策略:usrquota (针对用户) grpquota(针对组) 各自实现,存储在各自特定的文件中。在某个分区启用了配额功能之后,会在从磁盘分区的根目录上创建两个文件:
aquota.user aquota.group,记录用户配额的定义。
实现过程:编辑/etc/fstab文件,在defaults 后面加上使用的策略
重新挂载,查看:
quotacheck 默认创建aquota.user aquota.group两个文件
-c 检查aquota.user aquota.group,无论文件是否存在,均重新创建
-u 检查用户配额
-g 检查组的配额
-m 无论如何,不要把此文件系统挂载为只读文件系统
quotaon 打开某个文件系统上磁盘配额功能 quotaoff 关闭
edquota -u(可省略) username 编辑某个用户的磁盘配额
su 到student下进 行验证:
使用dd命令验证一下:
限定用户使用的文件数,使用edquota编辑
总结:1.启用usrquota,grpquota
2.检查对应分区所挂载目录下是否存在aquota.user 或aquota.group两个文件,如果没有,使用quotacheck -cugm来创建
3 quotaon 启用此分区上配额
4 编辑用户配额
edquota -p 把一个用户的配额复制到另一个用户上
setquota 在脚本中以非交互的模式实现磁盘配额
edquota -t 改变默认软限制和硬限制用户所能够使用的宽限期
warnquota /home 报告当前系统上使用磁盘配额的文件系统上任何一个超出配额的用户,向其发送邮件通知。
quotaoff /home 临时性地关闭磁盘配额