系统分区管理
linux系统中的磁盘管理
1.本地存储设备的识别
fdisk -l 真实存在的设备
cat /proc/partition 系统识别的设备
blkid 系统可使用的设备
df 系统正在挂载的设备
2.设备名称
/dev/xdx ##/dev/hd0 /dev/hd1 /dev/sda /dev/sdb
/dev/sda1 /dev/sda2 /dev/sdb1
/dev/sr0 ##光驱
/dev/mapper/* ##虚拟设备
3.设备的挂载
mount 设备 挂载点
要求:
1.此挂载点没有被其他进程引用
2.挂载点得事先存在
3.挂载目录中的原有文件将会暂时隐藏
mount /dev/sdb1 /mnt
umount /mnt | /dev/sdb1 卸载时可使用设备或挂载点
mount -o ro /dev/sdb1 /mnt 只读挂载
mount -o remount,rw /dev/sdb1 |/mnt 卸载并重新挂载为读写方式
3.解决设备正忙问题
方法1:
fuser:验证进程正在使用的文件和套接字
fuser -km /mnt/
-v:查看某文件上正在运行的进程
-k:杀死指定进程
-m:
fuser -km MOUNT_POINT:终止正在访问此挂载点的所有进程
方法2:
[[email protected]~]# lsof /mnt/
lsof:WARNING:can't stat() fuse.gvfsd-fuse file system /rum/user/1000/gvfs
Output information may be incomplete
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 27446 root csd DIR 8,17 4096 2 /mnt
kill -9 27446
umount /mnt
磁盘分区
1.硬盘0磁道1 扇区的512个字节中记录的信息如下:
512= 446 + 64 + 2
MBR(主引导记录) MPT(主分区标示) 55aa(硬盘的有效性表示)
- 磁盘分区有三种,主分区、扩展分区、逻辑分区。
- 一个磁盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。
- 分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分,那剩的部分就浪费了。
- 扩展分区是不能直接用的,他是以逻辑分区的方式来使用的,所以说扩展分区可分成若干逻辑分区。
备份MBR:
dd if=/dev/sda of=/mnt/usb/mbr.backup bs=512 count=1
还原MBR:
dd if=/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1
dd命令:
if=数据来源
of=数据存储目标
bs=1 指定字节
count=2
seek:创建数据文件时,跳过的空间大小
2.分区步骤:
fdisk -l 查看当前可用的磁盘
fdisk命令参数:
p:打印分区表
n:新建一个分区表
d:删除一个新分区
t: 改变一个分区的系统id
L:列出所有类型
82:swap类型
8e:linux lvm类型
q:退出不保存
w:把分区写进分区表,保存并退出
fdisk /dev/vdb
建立扩展分区:
若在保存后出现警告,则使用partprobe命令
用脚本创建分区
给设备安装文件系统
ext3 rhel5及之前的版本 最多支持32TB的文件系统和2t文件,实际2tb文件系统,16G文件
ext4 rhel16 1EB 16TB
xfs rhel17 18EB 9eb 7G/s 4G/s
1.临时安装并挂载
mkfs.xfs /dev/vdb1
mount /dev/vdb1 /mnt
如果没有安装文件系统直接挂载会出现以下报错
2.永久挂载
vim /etc/fstab os在初始化时,会自动挂载此文件中定义的每个文件系统
设备 挂载点 文件系统 挂载参数 是否备份 是否检测
/dev/vdb1 /mnt xfs defaults 0 0
mount -a 表示挂载/etc/fstab文件中定义的所有文件系统
当/etc/fatab文件存在问题时,reboot后虚拟机会启不来,根据提示在登陆界面修改/etc/fstab,再重启
swap分区管理
1.临时挂载
划分分区并设定分区标签为82
mkswap /dev/vdb3
swapon -a /dev/vdb3 启用此交换设备
swapon -s 列出swap分区信息
2.永久挂载
vim /etc/fstab
3.swap分区删除
swapoff /dev/vdb3
swapon -s
配额
配额是针对于分区的
mount -o usrquota /dev/vdb3 /public
chmod 777 /public
edquota -u student 为student用户设置配额20M
测试:
dd if=/dev/zero of=/public/studentfile bs=1M count=200
永久**
vim /etc/fstab
磁盘加密
LUKS(Linux Unified Key Setup)为Linux硬盘加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令。必须首先对加密的卷进行解密,才能挂载其中的文件系统。
cryptsetup luksFormat /dev/vdb7 加密分区,设置密码前要用"YES"
cryptsetup open /dev/vdb8 westos 映射分区
mkfs.xfs /dev/mapper/westos 设置文件系统
mount /dev/mapper/westos 挂载使用
touch file{1..6}
umount /mnt/
cryptsetup close westos
cryptsetup open /dev/vdb8 westos
mount /dev/mapper/westos /mnt
注意:
使用cryptsetup对分区进行了加密后,这个分区就不再允许直接挂载,必须挂载映射
映射设备被关闭,出现此报错,需要cryptsetup open /dev/vdb8 westos后,再挂载
加密磁盘自动挂载
1.vim /etc/fstab
2.vim /etc/cryptab
3.vim /root/westoskey 添加加密时设置的密码
4.cryptsetup luksAddKey /dev/vdb6 /root/westoskey
5.reboot
在重启后可能发现没挂载上,是因为在挂载点已经挂载了另外一个设备