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

wps_clip_image-6516

手动创建的设备文件在系统重启后会丢失。

/dev/null  黑洞(相当于一个垃圾桶)

/dev/zero  0 零设备  初始化磁盘设备

/dev/random  /dev/urandom  随机数

所有字符设备都是线性的。所有的块设备都是随机设备。字符设备和块设备没有大小。

lsmod    显示所有模块的状态信息

modinfo  显示一个模块的摘要信息

modprobe   装载 卸载模块

          -r 卸载模块

depmod   生成模块间依赖关系的列表

insmod    需指定具体路径

wps_clip_image-11939

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。

wps_clip_image-10626

格式化磁盘:

mkfs /dev/device 默认是格式化为ext2

mkfs -t ext3=mkfs.ext3

-L label  为磁盘添加卷标

mkfs -t -L MYDEV  /dev/sda5

也可以为卷标指定一个UUID(随机数)

blkid  查看id 和卷标

wps_clip_image-22099

e2label  /dev/sda5 查看卷标

wps_clip_image-20869

设定卷标

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

默认显示挂载属性

wps_clip_image-3372

loop 挂载本地回环设备

mount  -o loop  /root/boot.iso  /mnt/test

user_xattr  允许用户使用文件的扩展属性

wps_clip_image-31732

mount -o defaults  直接设定默认选项

dumpe2fs  显示一个e2fs文件设备的详细信息

findsfs   label  根据卷标来查找设备

  findfs  LABLE=DEV

wps_clip_image-3605

remount  重新挂载

/etc/mtab 保留了当前系统上挂载的所有的设备,无论是自动挂载(/etc/fstab)的还是用户手动挂载的

umount -a  /etc/mtab

卸载mtab下的文件,即卸载掉所有挂载的设备

wps_clip_image-12601

fuser -v 显示哪个用户正在访问挂载点

fuser -km 将访问用户强行踢出

wps_clip_image-7272

再卸载

创建一个交换分区:

mkswap /dev/sda6  将某一个分区格式化为虚拟分区

swapon /dev/sda6   启用虚拟分区

swapoff   /dev/sda6   关闭虚拟分区

swapon -a  启用所有交换分区

创建一个交换分区:

dd  if=/dev/zero(数据来源)   of=/var/local/swapfile(放到哪里去)  bs=1k(一次读多大数据块)count=1M(读取多少个这样的数据块)

wps_clip_image-31094

mkswap  /tmp/swapfile

swapon  /tmp/swapfile

free  查看

wps_clip_image-28973

RH131  Lecture 9  User Administration

vipw 编辑/etc/shadow文件  在编辑的时候锁定此文件

vigr  编辑/etc/gshadow文件  在编辑的时候锁定此文件

Quota  磁盘配额: 用于定义某个用户在磁盘上或者某个分区上最多只能使用的磁盘空间,或者最多只能建立的文件的个数。

磁盘配额在内核中实现,实际上是在文件系统上实现的,跟文件系统相关。只能对一个分区来做。

两种配额标准:空间配额:定义一个用户最多只能使用多少个磁盘块,以k为单位。

              文件配额:定义一个用户最多只能使用多少个文件。

两种配额类型:软限制:可以超出限定的配额数。

              硬限制:无论如何不能超过。

二者可以结合起来使用。

磁盘配额对管理员无效。

在文件系统上,使用磁盘配额时要在分区上指定特殊的挂载选项。

两种策略:usrquota (针对用户) grpquota(针对组) 各自实现,存储在各自特定的文件中。在某个分区启用了配额功能之后,会在从磁盘分区的根目录上创建两个文件:

aquota.user   aquota.group,记录用户配额的定义。

实现过程:编辑/etc/fstab文件,在defaults 后面加上使用的策略

wps_clip_image-23897

重新挂载,查看:

wps_clip_image-24333

quotacheck   默认创建aquota.user   aquota.group两个文件

         -c  检查aquota.user   aquota.group,无论文件是否存在,均重新创建

         -u  检查用户配额

         -g  检查组的配额

         -m 无论如何,不要把此文件系统挂载为只读文件系统

wps_clip_image-1720

quotaon 打开某个文件系统上磁盘配额功能  quotaoff 关闭

edquota  -u(可省略)  username 编辑某个用户的磁盘配额

wps_clip_image-19224

su 到student下进 行验证:

wps_clip_image-18112

使用dd命令验证一下:

wps_clip_image-18586

限定用户使用的文件数,使用edquota编辑

总结:1.启用usrquota,grpquota

      2.检查对应分区所挂载目录下是否存在aquota.user 或aquota.group两个文件,如果没有,使用quotacheck  -cugm来创建 

      3 quotaon 启用此分区上配额

      4 编辑用户配额

edquota  -p 把一个用户的配额复制到另一个用户上

wps_clip_image-14087

setquota 在脚本中以非交互的模式实现磁盘配额

wps_clip_image-22658

edquota -t  改变默认软限制和硬限制用户所能够使用的宽限期

wps_clip_image-5053

warnquota  /home  报告当前系统上使用磁盘配额的文件系统上任何一个超出配额的用户,向其发送邮件通知。

quotaoff /home 临时性地关闭磁盘配额