磁盘管理

来源:互联网 发布:经典按键java手机游戏 编辑:程序博客网 时间:2024/05/16 04:19

磁盘查看命令:
fdisk -l ##系统中所有磁盘设备
df -Th ##系统正在挂载的磁盘设备
blkid ##系统可以挂载的磁盘设备id

磁盘分区:
操作如下:
fdisk /dev/vdb
根据提示输入m查看命令
输入n 添加
再输入p
分配大小
wq退出保存
partprobe ##同步分区表
cat /porc/partitions ##查看系统识别的分区信息
mkfs.xfs /dev/vdb1 ##格式化(建立.xfs文件系统)
mount /dev/vdb1 /mnt ##临时挂载

vim /etc/fstab ##永久挂载的配置文件
添加:dev/vdb1 /mnt xfs defaults 0 0
其中第一个0,是询问是否作备份。0为不作备份,1为备份
第二个0,是询问是否检查文件系统,0为不检查
mount -a ##使/etc/fstab 中记录的挂载策略生效

swap分区:
作用:swap相当与windows的虚拟内存,是当系统内存使用量超过80%会把超出的数据暂时存放的swap中
当内存释放时在交还给内存处理
swapon -s ###查看swap分区
增加swap分区
1.新建swap分区
依次的操作如下:
fdisk /dev/vdb
输入n 添加
再输入p
分配大小
t ##修改分区id
2 ##修改分区id的磁盘号
l ##列出所有分区类型
82 ##swap分区类型
wq ##退出保存
partprobe##同步分区表
mkswap /dev/vdb2 ###把/dev/vdb2格式化成swap
swapon -a /dev/vdb2 ##激活/dev/vdb2
swapon -s ##查看
Filename Type Size Used Priority
/dev/vdb2
vim /etc/fstab ##配置开机启动
/dev/vdb2 swap swap defaults 0 0

swapon -a ##激活在/etc/fstab中写如的未生效的swap分区

2.删除swap分区
vim /etc/fstab
dev/vdb2 swap swap defaults 0 0
swapoff /dev/vdb2

磁盘加密:
fdisk /dev/vdb ##创建设备
cryptsetup luksFormat /dev/vdb1 ##加密vdb1
This will overwrite data on /dev/vdb1 irrevocably.
Are you sure? (Type uppercase yes): YES ##必须大写YES
Enter passphrase:
Verify passphrase: ##密码必须8位

blkid ##查看挂载设备
cryptsetup open /dev/vdb1 name ##打开设备密码
mkfs.xfs /dev/mapper/name /mnt ##挂载
umount /mnt/ ##取消挂载
cryptsetup colse westos ##关闭设备密码

加密磁盘的永久挂载
vim /root/passwd ##写入设备加密的密码
chmod 600 /root/passwd ##给这个文件读取的权限
vim /etc/crypttab ##配置开机时设备密码的读取位置
name /dev/vdb1 /root/passwd ##name这个设备文件的设备密码读取文件
cryptsetup luksAddKey /dev/vdb1 /root/passwd ##指定密码文件
vim /etc/fstab
/dev/vdb1 /mnt xfs defaults 0 0

删除加密:
vim /etc/fstab
删除刚才的配置
rm -rf /root/passwd ##删除刚才建立的设备密码存放文件passwd
vim /etc/crypttab ##删除配置的开机时设备密码的读取位置
cryptsetup close name ##关闭设备密码
mkfs.xfs /dev/vdb1 ##格式化磁盘分区

磁盘分区配额
mount -o usrquota /dev/vdb1 /mnt ##配置配额
quotaon -uv /dev/vdb1 ##开启配额设置
edquota -u student ##配置student用户的配额,弹出下面的框
Disk quotas for user student (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/vdb3 0 0 0 0 0 0
更改hard的大小,默认大小的单位是kb

磁盘阵列RAID:
fdisk /dev/vdb ##创建3个raid分区
cat /proc/partitions ##查看设备挂载情况
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}
mkfs.xfs /dev/md0
mount /dev/md0 /mnt

mdadm /dev/md0 -f /dev/vdb2 ##停止vdb2
mdadm /dev/md0 -r /dev/vdb2 ##删除vdb2
mdadm /dev/md0 -a /dev/vdb2 ##添加vdb2
mdadm -S /dev/md0 ##删除磁盘阵列

lvm:
LVM 的全名是 Logical Volume Manager,中文可以翻译作逻辑滚动条管理员。之所以称为滚动条可能是因为可以将 filesystem 像滚动条一样伸长或缩短
pv:物理卷
vg:物理卷组
lv:逻辑卷
pe:物理拓展

lvm的配置
fdisk /dev/vdb ##建立磁盘分区,磁盘system ID为8e
配置顺序:pv—>vg—–>lv

pv
fdisk—>分区—>修改分区id—->pvcreate
pvs ##用来查看pv设备
pvcreate 分区 ##自作pv设备

vg
vgcreate vg名称 pv设备
vgs ##vg设备的查看

lv
lvcreate -L 大小 -n 名字 vg名称
lvs ##lvm设备的查看

mkfs.xfs /dev/vg0/lv0 ##磁盘格式化(建立文件系统)
mount /dev/vg0/lv0 /mnt ##挂载
如下:
[root@foundation89 ~]# pvcreate /dev/vdb1 ##创建pv
Physical volume “/dev/vdb1” successfully created
[root@foundation89 ~]# vgcreate vg0 /dev/vdb1 ##创建vg
Volume group “vg0” successfully created
[root@foundation89 ~]# lvcreate -L 100M -n lv0 vg0 ##创建lv
Logical volume “lv0” created
[root@foundation89 ~]# mkfs.xfs /dev/vg0/lv0 ##磁盘格式化(建立文件系统)
meta-data=/dev/vg0/lv0 isize=256 agcount=4, agsize=6400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=25600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@foundation89 ~]# mount /dev/vg0/lv0 /mnt/ ##挂载

lvm的管理

1.扩大

lvextend -L 800M /dev/vg0/lv0 ##扩大lvm
xfs_growfs /dev/vg0/lv0 ##扩大文件系统
vgextend vg0 /dev/vdb2 ##扩大vg
## resize2fs /dev/vg0/lv0 ##扩大ext文件系统

2.缩减
xfs文件系统不能缩减,ext文件系统可以
umount /mnt
e2fsck -f /dev/vg0/lv0 ##扫瞄数据大小
resize2fs /dev/vg0/lv0 300M ##缩减文件系统
lvreduce -L 300M /dev/vg0/lv0 ##缩减lvm设备

缩减vg:
确定缩减的pv设备
如果要缩减的设备为/dev/vdb3,但是/dev/vdb3上有数据,那么执行数据迁移
pvmove /dev/vdb3 /dev/vdb2 ##把/dev/vdb3上的数据迁移到/dev/vdb2:
vgreduce vg0 /dev/vdb3 ##缩减vg0,/dev/vdb3上一定没有数据才能缩减
pvremove /dev/vdb3 ##还原/dev/vdb3成为物理分区

3.lvm的删除
umount /mnt
lvremove /dev/vg0/lv0 ##删除lvm
vgremove vg0 ##删除vg
pvremove /dev/vdb2 ##删除pv