挂载点和/etc/fstab
配置文件系统体系 被mount、fsck和其它程序使用 系统重启时保留文件系统体系 可以在设备栏使用文件系统卷标 使用mount -a命令挂载 /etc/fstab 中的所有文件系统
文件挂载配置文件
/etc/fstab每行定义一个要挂载的文件系统; (1)要挂载的设备或伪文件系统(除根以外的文件系统) (2)挂载点 (3)文件系统类型 (4)挂载选项 (5)转储频率 (6)自检次序 要挂载的设备或伪文件系统: 设备文件、LABEL(LABEL="") UUID(UUID="")、伪文件系统名称(proc,sysfs) 挂载选项: defaults 转储频率: 0 :不做备份 1 :每天转储 2 :每隔一天转储 自检次序: 0 :不自检 1:首先自检;一般只有rootfs才用1 非0自检
LABEL="SDB1" /mnt/sdb1 ext4 defaults 0 3/testdir/centos7.iso /mnt/iso iso9660 loop 0 0/boot /mnt/boot none blind 0 010.1.1.1:/share /mnt/nfs nfs defaults 0 0
故障排除,/etc/fstab 设备名出错 自检非0
开机自检--》输入管理员密码--》进行修复mount -o remount,rw /
处理交换文件和分区
交换分区是系统RAM的补充 基本设置包括: • 创建交换分区或者文件 mkswap device -L LABEL:指明卷标 -f :强制
挂载交换分区
启用:swapon swapon [OPTION]... [DEVICE] -a:激活所有的交换分区; -s:查看swap分区的信息 -p PRIORITY :指定优先级 /etc/fstab: pri=value 禁用:swapoff [OPTION]... [DEVICE]
/etc/fstab /testdir/swapfile swap swap default,pri=100 0 0
SWAP的优先级
用户可以给某个swap 指定一个0 到32767的优先级,系统默认为-1
default,pri=# 设定优先级
优化性能:分布存放,高性能磁盘存放
移动介质
挂载意味着使外来的文件系统看起来如同是主目录树的一部分 按照默认设置,非根用户只能挂载某些设备(光盘、DVD 、软盘、USB 等等) 挂载点通常在/media或/mnt下
使用光盘
在图形环境下自动启动挂载/run/media/<user>/<label> 否则就必须被手工挂载 mount /dev/cdrom /mnt/ /dev/dvd 符号链接文件: /dev/cdrom /dev/cdrw /dev/dvd /dev/dvdrw eject 命令卸载或弹出磁盘 创建ISO文件 cp /dev/cdrom /root/centos7.iso mkisofs -r -o /root/etc.iso /etc mount -o loop /tmp/CentOS-7.0-1406-x86_64-DVD.iso /data/centos_dvd 刻录光盘 wodim –v –eject centos.iso
挂载文件
dd if=/dev/zero of=/mnt/lopp1 bs=100M count=5
losteup /dev/loop10 /mnt/loop1 losetup -d /dev/loop# 取消loop设备的关联
mkfs.xfs /dev/loop10 mkdir /media/loop10 mount /dev/loop10 /media/loop10
挂载USB介质
被内核探测为SCSI 设备 • /dev/sdaX 、/dev/sdbX 、或类似的设备文件 • 手动挂载 • mount /dev/sdb1 /mnt #sync 同步
常见工具
内存空间使用状态:
free [OPTION] -m: 以MB 为单位 -g: 以GB 为单位
文件系统空间占用等信息的查看工具:
df [OPTION]... [FILE]... -H 以1000 为单位 -T 文件系统类型 -h: human-readable -i :inodes instead of blocks -P: 以Posix 兼容的格式输出
查看某目录总体空间占用状态:
du [OPTION]... DIR -h: human-readable -s: summary 总体显示
[root@6 testdir]# du -h 32K ./yum.repos.d 32K ./repo/repodata 76K ./repo 8.0K ./a 604K . [root@6 testdir]# du -s 604 .
工具dd
dd 命令:convert and copy a file
用法:
dd if =/PATH/FROM/SRC of=/PATH/TO/DEST bs=# :block size, 复制单元大小 count=# :复制多少个bs of=file 写到所命名的文件而不是到标准输出 if=file 从所命名文件读取而不是从标准输入 bs=size 指定块大小(既是是ibs 也是obs) ibs=size 一次读size 个byte obs=size 一次写size 个byte cbs=size 一次转化size 个byte skip=blocks 从开头忽略blocks个ibs大小的块 seek=blocks 从开头忽略blocks个obs大小的块 count=n 只拷贝n个记录 conv=conversion[,conversion...] 用指定的参数转换文件。
转换参数:
ascii 转换 EBCDIC 为 ASCIIebcdic 转换 ASCII 为 EBCDIC block 转换为长度为 cbs 的记录,不足部分用空格填充。 unblock 替代cbs 长度的每一行尾的空格为新行 lcase 把大写字符转换为小写字符 ucase 把小写字符转换为大写字符 swab 交换输入的每对字节。 noerror 出错时不停止 notrunc 不截短输出文件。 sync 把每个输入块填充到ibs 个字节,不足部分用空(NUL) 字符补齐
磁盘拷贝:
dd if=/dev/sda of=/dev/sdb备份MBR: dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1 破坏MBR中的bootloader: dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446
有二进制文件 fileA,size>2K 。现在想从第64个字节位置开始读取,需要读取的大小是128Byts。又有fileB, 想把上面读取到的128Bytes 写到第32 个字节开始的位置,替换128Bytes ,请问如何实现? #dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc
备份:
dd if=/dev/sdx of=/dev/sdy 将本地的/dev/sdx 整盘备份到/dev/sdy dd if=/dev/sdx of=/path/to/image 将/dev/sdx 全盘数据备份到指定路径的image 文件 dd if=/dev/sdx | gzip >/path/to/image.gz 备份/dev/sdx 全盘数据,并利用gzip 工具进行压缩,保存到指定路径
恢复:
dd if=/path/to/image of=/dev/sdx 将备份文件恢复到指定盘 gzip -dc /path/to/image.gz | dd of=/dev/sdx将压缩的备份文件恢复到指定盘
拷贝内存资料到硬盘
dd if=/dev/mem of=/root/mem.bin bs=1024将内存里的数据拷贝到root 目录下的mem.bin 文件 从光盘拷贝iso镜像dd if=/dev/cdrom of=/root/cd.iso拷贝光盘数据到root 文件夹下,并保存为cd.iso 文件 销毁磁盘数据 dd if=/dev/urandom of=/dev/sda1 利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。执行此操作以后,/dev/sda1将无法挂载,创建和拷贝操作无法执行。 得到最恰当的block size dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file通过比较dd指令输出中所显示的命令执行时间,即可确定系统 最佳的block size 大小
测试硬盘读写速度
dd if=/root/1Gb.file bs=64k | dd of=/dev/nulldd if=/dev/zero of=/root/1Gb.file bs=1024count=1000000通过上两个命令输出的执行时间,可以计算出测试硬盘的读/写速度
修复硬盘
dd if=/dev/sda of=/dev/sda当硬盘较长时间(比如1 ,2 年)放置不使用后,磁盘上会产生消磁点。当磁头读到这些区域时会遇到困难,并可能导致I/O错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬盘报废。上边的命令有可能使这些数据起死回生。且这个过程是安全,高效的。
配置配额系统
综述
• 在内核中执行 • 以文件系统为单位启用 • 对不同组或者用户的策略不同 根据块或者节点进行限制 • 执行软限制(soft limit) • 硬限制(hard limit)
初始化
• 分区挂载选项:usrquota 、grpquota
/dev/sda6 /home ext4 usrquota,grpquota 0 0
• 初始化数据库:quotacheck -u, --user -g, --group -c, --create-files
quotacheck -cug /home setenforce 0 centos6 停用防火墙
为用户设定配额
执行
• 开启或者取消配额:quotaon 、quotaoff -p, --print-state
quotaon -p /home quotaon /home
• 直接编辑配额:edquota username • 在shell 中直接编辑: setquota usename 4096 5120 40 50 /foo • 定义原始标准用户 edquota -p user1 user2
报告配额状态
报告
• 用户调查:quota • 配额概述:repquota • 其它工具:warnquota
what is RAID
RAID:Redundant Arrays of Inexpensive( Independent) Disks 1988 年由加利福尼亚大学伯克利分校 多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供
RAID
提高IO 能力: 磁盘并行读写 提高耐用性; 磁盘冗余来实现 级别:多块磁盘组织在一起的工作方式有所不同RAID 实现的方式:外接式磁盘阵列:通过扩展卡提供适配能力 内接式RAID :主板集成RAID 控制器 安装OS 前在BIOS 里配置Software RAID:
RAID 级别
RAID-0 :条带卷,strip RAID-1: 镜像卷,mirror RAID-2 .. RAID-5RAID-6RAID-10RAID-01
RAID 普通型级别
RAID-0: 读、写性能提升; 可用空间:N*min(S1,S2,...) 无容错能力 最少磁盘数:2, 2+ RAID-1: 读性能提升、写性能略有下降 可用空间:1*min(S1,S2,...) 有冗余能力 最少磁盘数:2, 2N RAID-4: 多块(至少三块)数据盘异或运算值,存于专用校验盘 RAID-5: 读、写性能提升 可用空间:(N-1)*min(S1,S2,...) 有容错能力:允许最多1 块磁盘损坏 最少磁盘数:3, 3+ RAID-6: 读、写性能提升 可用空间:(N-2)*min(S1,S2,...) 有容错能力:允许最多2 块磁盘损坏 最少磁盘数:4, 4+
RAID 混合类型级别
RAID-10: 读、写性能提升 可用空间:N*min(S1,S2,...)/2有容错能力:每组镜像最多只能坏一块 最少磁盘数:4, 4+ RAID-01 、RAID-50 RAID7: 可以理解为一个独立存储计算机,自身带有操作系 统和管理工具,可以独立运行,理论上性能最高的RAID 模式 JBOD:Just a Bunch Of Disks 功能:将多块磁盘的空间合并一个大的连续空间使用 可用空间:sum(S1,S2,...) 常用级别: RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD
软RAID
mdadm :为软RAID 提供管理界面 为空余磁盘添加冗余 结合内核中的md(multi devices) RAID 设备可命名为/dev/md0 、/dev/md1 、/dev/md2、 、/dev/md3 等等
软件RAID 的实现
mdadm :模式化的工具 命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices> 支持的RAID 级别: LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10
模式:
创建:-C 装配: -A 监控: -F 管理:-f, -r, -a <raiddevice>: /dev/md# <component-devices>: 任意块设备 -C: 创建模式-n #: 使用# 个块设备来创建此RAID;-l # :指明要创建的RAID 的级别;-a {yes|no} :自动创建目标RAID 设备的设备文件;-c CHUNK_SIZE: 指明块大小;-x #: 指明空闲盘的个数; -D :显示raid 的详细信息; mdadm -D /dev/md#
管理模式:
-f: 标记指定磁盘为损坏 -a: 添加磁盘 -r: 移除磁盘
观察md 的状态:
cat /proc/mdstat watch命令: -n #:刷新间隔,单位为秒;
停止md设备:
mdadm -S /dev/md#
软RAID 配置实例
使用mdadm 创建并定义RAID 设备 # mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sda{1,2,3,4} # mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 用文件系统对每个RAID 设备进行格式化#mke2fs -j /dev/md0 测试RAID 设备 mdadm 允许检查RAID 设备的状况 #mdadm --detail|D /dev/md0增加新的成员# mdadm –G /dev/md0 –n4 -a /dev/sdf1
软RAID测试和修复
模拟磁盘故障
#mdadm /dev/md0 -f /dev/sda1
移除磁盘
#mdadm /dev/md0 –r /dev/sda1
从软件RAID 磁盘修复磁盘故障
• 替换出故障的磁盘然后开机 • 在备用驱动器上重建分区 • #mdadm /dev/md0 -a /dev/sda1
mdadm 、/proc/mdstat 及系统日志信息
#watch -n1 'cat /proc/mdstat'每1秒查看mdstat文件一次
软RAID 管理
生成配置文件:mdadm –D –s >> /etc/mdadm.conf 停服务:mdadm –S /dev/md0 激活:mdadm –A –s /dev/md0 激活 删除raid 信息:mdadm –zero-superblock /dev/sdb1
逻辑卷管理器(LVM)
允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小 允许在多个物理设备间重新组织文件系统 • 将设备指定为物理卷 • 用一个或者多个物理卷来创建一个卷组 • 物理卷是用固定大小的物理区域(Physical Extent, PE )来定义的 • 在物理卷上创建的逻辑卷 是由物理区域(PE )组成 • 可以在逻辑卷上创建文件系统
LVM 介绍
LVM: Logical Volume Manager, Version: 2dm: device mapper: 将一个或多个底层块设备组织成一个逻辑设备的模块 设备名:/dev/dm-# 软链接: /dev/mapper/VG_NAME-LV_NAME /dev/mapper/vol0-root /dev/VG_NAME/LV_NAME /dev/vol0/root
LVM 更改文件系统的容量
LVM 可以弹性的更改LVM的容量通过 交换PE来进行资料的转换,将原来LV 内的PE转转移到其他的设备中以降低LV的容量,或将其他设备中的PE 加到LV 中以加大容量
pv 管理工具
显示pv 信息
pvs :简要pv 信息显示 pvdisplay
创建pv
pvcreate /dev/DEVICE
删除
pvremove /dev/DEVICE
vg 管理工具
显示卷组
vgsvgdisplay
创建卷组
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgcreate -s 4G myvg /dev/sdd1
管理卷组
vgextend VolumeGroupName PhysicalDevicePath[PhysicalDevicePath...]
#vgextend myvg /dev/sdd5
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
#vgreduece myvg /dev/sdd5
删除卷组
vgremove先做pvmove ,再做vgremove
lv 管理工具
显示逻辑卷
lvs Lvdisplay
创建逻辑卷
lvcreate -L #[mMgGtT] -n NAME VolumeGroup
删除逻辑卷
lvremove /dev/VG_NAME/LV_NAME
重设文件系统大小
fsadm [options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size] xfs_growfs /mnt/mylv lvextend -r -l +100%FREE /dev/vg0/mylv 剩余全部扩充
扩展和缩减逻辑卷
扩展逻辑卷:
# lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME
缩减逻辑卷:
# umount /dev/VG_NAME/LV_NAME# e2fsck -f /dev/VG_NAME/LV_NAME# resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]# lvreduce -L [-]#[mMgGtT]/dev/VG_NAME/LV_NAME# mount
创建逻辑卷实例
创建物理卷
pvcreate /dev/sda3
为卷组分配物理卷
vgcreate vg0 /dev/sda3
从卷组创建逻辑卷
lvcreate -L 256M -n data vg0mke2fs -j /dev/vg0/datamount /dev/vg0/data /mnt/data
积累应用
1:创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录
[root@6 ~]# gdisk /dev/sdd
[root@6 ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/sdd{1,2,3}
[root@6 ~]# mkfs.ext4 /dev/md0
[root@6 ~]# vim /etc/fstab
UUID="5dd32775-a40a-4bf0-94f9-da7907be55f1" /backup ext4 defaults 0 0
[root@6 ~]# mount -a
2:创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录
[root@lvasu bin2]# mdadm -C /dev/md0 -a yes -l 5 -n 3 -c 256 /dev/sdd{1,2,3}
[root@lvasu bin2]# mkfs.ext4 /dev/md0
vim /etc/fstab
munt -a
3、创建和扩展逻辑卷
[root@lvasu bin2]# pvcreate /dev/sdd{1,2,3} Physical volume "/dev/sdd1" successfully created Physical volume "/dev/sdd2" successfully created Physical volume "/dev/sdd3" successfully created [root@lvasu bin2]# vgcreate vg0 /dev/sdd{1,2,3} Volume group "vg0" successfully created [root@lvasu bin2]# vgs VG #PV #LV #SN Attr VSize VFree vg0 3 0 0 wz--n- 2.99g 2.99g [root@lvasu bin2]# lvcreate -L 1G -n lv0 /dev/vg0 Logical volume "lv0" created. [root@lvasu bin2]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv0 vg0 -wi-a----- 1.00g [root@lvasu bin2]# lvextend -L 2G /dev/vg0/lv0 Size of logical volume vg0/lv0 changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents). Logical volume lv0 successfully resized. [root@lvasu bin2]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv0 vg0 -wi-a----- 2.00g
原创文章,作者:lvasu,如若转载,请注明出处:http://www.178linux.com/43130