1.磁盘的信息介绍
/dev/xdx /dec/hd0 #IDE设备 并口 老式硬盘
/dev/cdrom /dev/sr0 #光驱
/dev/mapper/ 用软件虚拟出来的虚拟
fdisk -l #真实存在的设备
cat /proc/partitions #系统能识别的blkid #系统可以用的
df -h #系统正在用的(1M=1024K)(比较准确 )
df -H #系统正在用的(1M=1000K)
可看到的设备数量df <= blkid <= cat /proc/artitions <= fdisk -l
1)mount 要挂载的设备 挂载点 #挂载
2)umount 要卸载的设备 #卸载
操作过程:
插入u盘
df -h
df -h
cd /mnt
ls
umount /mnt #卸载 ------->结果:正在运行不能卸载
fuser -kvm /dev/sdb1
3)mount -o ro 要挂载的设备 挂载点 #只读挂载
mount -o ro /dev/sdb1 /mnt
4)mount -o remount,rw 要挂载的设备 #改为读写挂载
mount -o remount,rw /dev/sdb1
3.系统分区
1)执行fdisk /dev/vdb
Command (m for help): n #新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free) #主分区
e extended #扩展分区
Select (default p): p #选择主分区
Partition number (1-4, default 1): 1 #输入分区编号(1-4)
First sector (2048-20971519, default 2048): #默认
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M #输入分区大小
Partition 1 of type Linux and of size 100 MiB is set #分区已经建立
按照上面把剩下三个分区都建成主分区,则不能再创建第五个分区
删掉第四个主分区,建为扩展分区
有一个为扩展分区,则可以再建立第五个分区,默认为逻辑分区
按p查看分区
wq退出保存
按m查看所有指令
a #切换一个可启动的标志
b #编辑bsd磁碟标签
c #切换dos兼容性标志。
d #删除一个分区
g #创建一个新的空GPT分区表。
G #创建一个IRIX (SGI)分区表。
l #已知的分区类型列表
m #打印这个菜单
n #添加一个新的分区
o #创建一个新的空DOS分区表。
p #打印分区表
q #退出而不保存更改打印。
s #创建一个新的空的Sun disklabel。
t #更改分区的系统id。
u #改变显示/输入单元
v #验证分区表
w #将表写到磁盘并退出。
x #额外的功能(专家)
2)partprobe #同步分区
3)cat /proc/partitions #查看系统可识别的设备,可以看见新建的分区
4.格式化分区
mkfs.xfs 设备名 #格式化
如:
mkfs.xfs /dev/vdb5
mkfs.xfs /dev/vdb3
mkfs.xfs /dev/vdb2
mkfs.xfs /dev/vdb1
blkid
mount /dev/vdb1 /mnt #挂载
df #查看/dev/vdb1已经挂载
5.更改分区类型
删除所有分区后执行
1)执行parted /dev/vdb
(parted) mklabel #更改分区类型
New disk label type? #按两次tab键查看有哪些类型
aix amiga bsd dvh gpt loop mac msdos pc98 sun
New disk label type? gpt #输入新的类型
Warning: The existing disk label on /dev/vdb will be destroyed and all data on this
disk will be lost. Do you want to continue?
Yes/No? yes #输入yes
(parted) quit #退出
Information: You may need to update /etc/fstab.
fdisk -l #查看
Disk label type: gpt #类型为gpt
2)执行fdisk /dev/vdb进入磁盘进行新建分区,可新建128个主分区
3)mkfs.xfs /dev/vdb1 -f #格式化过一次,需要加-f强行格式化
4)mount /dev/vdb1 /mnt #挂载
6.自动挂载
1)vim /etc/fstab #编写脚本
/dev/vdb1 /mnt xf defaults 0 0
设备 挂载点 类型 挂载参数 不备份 不检测
2)mount -a #自动挂载
7.更改分区系统的id
1)fdisk /dev/vdb
Command (m for help): t #改id
Partition number (1,2, default 2): 2 #被改的分区号
Hex code (type L to list all codes): 82 #要改的id的代码
2)partprobe
3)mkswap /dev/vdb2
swapon -a /dev/vdb2
swapon -s
4)vim /etc/fstab
5)swapon -a
8.删除分区
1)vim /etc/fstab
删掉/dev/vdb2 swap swap defaults 0 0
2) swapoff /dev/vdb2
3) fdisk /dev/vdb
Command (m for help): d
Partition number (1,2, default 2): 2
4)partprobe
8.luks加密
先新建一个分区,手动同步
1)cryptsetup luksFormat /dev/vdb1 #加密
Are you sure? (Type uppercase yes): YES #大写
Enter passphrase: #输入密码
Verify passphrase: #再次输入
2)mount /dev/vdb1 /mnt/ #挂载
mount: unknown filesystem type 'crypto_LUKS' #是一个luks文件不能挂载
3)ls /dev/mapper/
cryptsetup open /dev/vdb1 kyj #解密
Enter passphrase for /dev/vdb1: #输入密码
ls /dev/mapper/
4)mkfs.xfs /dev/mapper/kjy #格式化
5) mount /dev/mapper/kyj /mnt #挂载
6)umount /mnt/ #卸载
df
7)ls /mnt/
cryptsetup close kjy #关闭映射
ls /dev/mapper/
8)mount /dev/mapper/kyj /mnt #挂载
mount: special device /dev/mapper/kyj does not exist #文件不存在
9.开机自动挂载
1)vim /root/diskpass
把密码写入文件中
2)chmod 600 /root/diskpass #改权限
cryptsetup luksAddKey /dev/vdb1 /root/diskpass #加钥匙
Enter any passphrase: #输入密码
3)vim /etc/crypttab
4)vim /etc/fstab
5)reboot #重启
重启之前要保证以上脚本内容编辑正确,且映射文件存在,可以先执行mount -a再用df查看一下有没有挂载上,如果没有,说明以上操作有问题,及时检查更改
6)df #查看
最后一行/dev/mapper/kjy 1018540 32928 985612 4% /mnt #已挂载
10.删除分区
1)vim /etc/fstab
删除里面的内容
2)vim /etc/crypttab
删除里面的内容
3)rm -fr /root/diskpass #删除
4)umount /mnt #卸载
5)cryptsetup close kjy #关闭映射
6)mkfs.xfs /dev/vdb1 -f #格式化
11.raid磁盘阵列
1)新建3个分区,系统id改为fd
手动同步
2)mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3} #-C创建 ,-l级别,-a自动创建
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
3)mkfs.xfs /dev/md0
mount /dev/md0 /mnt/
df
4) mdadm -D /dev/md0 #查看状态
Number Major Minor RaidDevice State
0 253 17 0 active sync /dev/vdb1
1 253 18 1 active sync /dev/vdb2
2 253 19 - spare /dev/vdb3
可用命令watch -n 1 cat /proc/mdstat来监控
5)如果一个硬盘被破坏,第三个会顶替上来
mdadm /dev/md0 -f /dev/vdb1 #强行破坏/dev/vdb1
mdadm -D /dev/md0
Number Major Minor RaidDevice State
0 253 19 0 active sync /dev/vdb3
2 253 18 1 active sync /dev/vdb2
1 253 17 - faulty /dev/vdb1 #/dev/vdb1被破坏
监控内容:
5)mdadm /dev/md0 -r /dev/vdb1 #删除/dev/vdb1
mdadm -D /dev/md0
监控内容:
6)mdadm /dev/md0 -a /dev/vdb1 #建立/dev/vdb1
mdadm -D /dev/md0
Number Major Minor RaidDevice State
2 253 19 0 active sync /dev/vdb3
1 253 18 1 active sync /dev/vdb2
3 253 17 - spare /dev/vdb1 #重新建立之后/dev/vdb1成为替补的
监控内容:
12.删除raid
1)umount /mnt #卸载
2)mdadm -S /dev/md0 #停止设备
3)fdisk /dev/vdb ----->删除分区
4)partprobe
cat /proc/partitions
13.磁盘配额
1)建立分区
2)手动同步
3)格式化
4)mount -o usrquota /dev/vdb1 /mnt/ #挂载并激活配额参数
mount #可看到是否激活
/dev/vdb1 on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,usrquota) #类型为xfs
5)chmod 777 /mnt #改权限
要先挂载设备再更改权限,新设备会覆盖原设备权限
6)edquota -u student #-u表示检测用户配额
Filesystem blocks soft hard inodes soft hard
/dev/vdb1 0 0 20480 1 0 0 #设置最大容量为20M
blocks目前文件容量
soft表示容量,超过会警告
hard最大容量20M
inodes目前文件个数
7)切换到student
执行dd if=/dev/zero of=/mnt/studentfile bs=1M count=21 #从无限0设备中截取21块1M的到/mnt/student
of表示outputfile
dd截取命令
bs大小
count 个数
dd: error writing ‘/mnt/studentfile’: Disk quota exceeded #大于20M,不能截取
截取10个1M的可以截取成功
开机自动激活
vim /etc/fstab
dev/vdb1 /mnt xfs defaults,usrquota 0 0
14.lvm命令
pv 物理卷
vg 物理卷组
pe 物理拓展
lvm 逻辑卷管理
1)建立三个分区,标签改为8e
2)pvcreate /dev/vdb1 #初始化一个物理卷
3)vgcreate vg0 /dev/vdb1 #创建卷组
4)lvcreate -L 300M -n lv0 vg0 #建立lvm
-L大小
-n 名字
5)mkfs.xfs /dev/vg0/lv0 #格式化
mount /dev/vg0/lv0 /mnt #挂载
监控命令watch -n 1 'pvs;vgs;lvs;df -h /mnt/'
15.lvm扩展
1)当vg容量够
lvextend -L 500M /dev/vg0/lv0 #扩展lvm,-L拉展到xx
xfs_growfs /dev/vg0/lv0 #热拉伸
监控内容:
2)当vg容量不够
pvcreate /dev/vdb2 #初始化一个物理卷
vgextend vg0 /dev/vdb2 #将物理卷添加到卷组中
lvextend -L 1500M /dev/vg0/lv0 #扩展lvm
xfs_growfs /dev/vg0/lv0 #热拉伸
监控内容:
3)ext4格式的扩展
umount /mnt/ #卸载
mkfs.ext4 /dev/vg0/lv0 #格式化为ext4格式,可扩大可缩减
mount /dev/vg0/lv0 /mnt/ #挂载
mount #查看
#格式为ext4
lvextend -L 1800M /dev/vg0/lv0 #扩展为1800M
resize2fs /dev/vg0/lv0 #
监控内容:
16.lvm缩减
ext4格式才行
1)umount /mnt/ #卸载
2)e2fsck -f /dev/vg0/lv0 #检测
3)resize2fs /dev/vg0/lv0 1000M
4)mount /dev/vg0/lv0 /mnt/ #挂载
5)lvreduce -L 1000M /dev/vg0/lv0 #缩减lvm
监控内容:
17.删除物理卷
1)pvmove /dev/vdb1 /dev/vdb2 #把/dev/vdb1内容移到/dev/vdb2
2)vgreduce vg0 /dev/vdb1 #减少一个卷组
3)pvremove /dev/vdb1 #移除物理卷/dev/vdb1
18.lvm快照
1)pvcreate /dev/vdb1
vgextend vg0 /dev/vdb1
touch /mnt/file666 #在/mnt建立文件
2)lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 #制作快照
3)mount /dev/vg0/lv0backup /mnt/ #挂载
这时候如果不小心删除了里面的文件,则卸载并删除快照,重新制作快照即可
1)umount /mnt #卸载
lvremove /dev/vg0/lv0backup #移除快照
2)lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 #重新拍照
mount /dev/vg0/lv0backup /mnt/ #挂载
19.删除lvm
1)umount /mnt #卸载
lvremove /dev/vg0/lv0backup #移除快照
2)lvremove /dev/vg0/lv0 #删除lvm
3)vgremove vg0 #删除卷组
4)pvremove /dev/vdb{1..2} #移除物理卷vdb1和vdb2
监控内容: