linux系统管理系统存储
磁盘:计算机的外部存储器中也采取了类似磁带的装置,比较常用的一种叫磁盘,将圆形的磁性盘片装在一个方的密封盒子里,这样的做法是为了防止磁盘表面划伤,导致数据丢失。有了磁盘之后,人们使用计算机就方便多了,不但可以把数据处理结果存放在磁盘中,还可以把很多输入到计算机中的数据存储在磁盘中,这样这些数据可以反复使用,避免了反复劳动。
1.分区
mbr为硬盘的一个扇区,是引导程序,引导磁盘读取磁盘,含有644个字节记录分区信息
512-446=66=64+2
64字节:mpt
一个分区占16个字节,分区表能记录4个分区,这些分区被称为主分区
500G分区占了200,还剩300,但是字节已经用完
请使用虚拟机操作,以免操作不当破坏真机系统
fdisk 设备名称 #对该设备进行分区分区
(1)建立分区
实验操作步骤:
fdisk -l #查看真实存在的设备
/dev/vda设备不能进行分区操作,/dev/vdb可以进行分区操作
fdisk /dev/vdb #分区 执行命令后系统提示可以使用"m"查看帮助
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition ##删除分区
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types ##列出系统可用的分区类型
m print this menu
n add a new partition ##新建分区
o create a new empty DOS partition table
p print the partition table ##显示分区
q quit without saving changes ##推出
s create a new empty Sun disklabel
t change a partition's system id ##修改分区功能id
u change display/entry units
v verify the partition table
w write table to disk and exit ##保存更改到分区表中
x extra functionality (experts only)
Command (m for help): n #新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free) #分区类型为主分区
e extended #分区类型为扩展分区
Select (default p): #默认为主分区
Using default response p
Partition number (1-4, default 1): #主分区id,如果不选择默认为1
First sector (2048-20971519, default 2048): #此分区起始位置
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +100M #分区大小(注意M大写)
Partition 1 of type Linux and of size 100 MiB is set
建立分区2、分区3与建立分区1方法相同
因为硬盘只允许有4个主分区,在建立分区4时,系统会默认建立扩展分区。在划分区域大小时直接回车,表示扩展分区区域大小等于剩余内存。
建立逻辑分区5,方法与分区1相同
p表示显示分区信息
Command (m for help): wq #保存退出
partprobe #同步分区表
cat /proc/partitions #查看系统识别的分区信息
(2)格式化分区
mkfs.xfs /dev/vdb1 #格式化
mount /dev/vdb1 /mnt #临时挂载
操作步骤:
mount /dev/vdb5 /mnt #挂载
失败,/dev/vdb5为只读文件
mkfs.xfs /dev/vdb5 #格式化挂载文件
blkid #查看可用设备,可以看到被格式化好的设备
显示有/dev/vdb5表示格式化成功
mkfs.xfs /dev/vdb3
blkid
mkfs.xfs /dev/vdb2
blkid
mkfs.xfs /dev/vdb1
blkid
mount /dev/vdb5 /mnt #挂载
df #显示已挂载设备
挂载成功!
2.设定分区方式
在改分区方式前删除之前的分区
删除分区
fdisk /dev/vdb #分区
Command (m for help): d #删除分区
Partition number (1-5, default 5): #选择要删除的分区,默认从后向前删除
Partition 5 is deleted
wq保存退出
partprobe #同步分区表
cat /proc/partitions #查看系统识别的分区信息
(1)设定分区方式为gpt
parted /dev/vdb #管理磁盘
parted 有两种运行模式:命令行模式和交互模式。与 fdisk 的交互模式交互模式不同,在 parted 的交互模式下执行命令,一旦按回车键确认,命令就马上执行,对磁盘的更改就立刻生效。它除了能够进行分区的添加、删除等常见操作外,还可以进行移动分区、创建文件系统、调整文件系统大小、复制文件系统等操作。
操作步骤:
parted /dev/vdb #管理磁盘
[[email protected] ~]# parted /dev/vdb
GNU Parted 3.1
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel ##输入mklable,修改分区模式
New disk label type? gpt ##输入gpt,修改分区模式为gpt
Warning: Partition(s) on /dev/vdb are being used.
Ignore/Cancel? I ##输入大写I
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? y ##输入y
Error: Partition(s) 5 on /dev/vdb have been written, but we have been unable
to inform the kernel of the change, probably because it/they are in use. As
a result, the old partition(s) will remain in use. You should reboot now
before making further changes.
Ignore/Cancel? I ##输入大写I
(parted) quit ##输入quit,退出交换模式
Information: You may need to update /etc/fstab.
print #查看分区信息
测试:
可以建立128个分区
[[email protected] ~]# partprobe #同步分区表
[[email protected] ~]# cat /proc/partitions #查看系统识别的分区信息
显示re-read ,只读模式,进行格式化
因为已经操作过一次格式化,当再次进行格式化命令时,系统会提示加上" -f "
[[email protected] ~]# mount /dev/vdb1 /mnt
[[email protected] ~]# df
操作成功!
(2)设定分区方式为dos
操作步骤:
[[email protected] ~]# parted /dev/vdb #管理磁盘
GNU Parted 3.1
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel #修改分区模式
New disk label type? msdos #修改分区模式为dos
Warning: Partition(s) on /dev/vdb are being used.
Ignore/Cancel? I
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
Error: Partition(s) 1 on /dev/vdb have been written, but we have been unable
to inform the kernel of the change, probably because it/they are in use. As
a result, the old partition(s) will remain in use. You should reboot now
before making further changes.
Ignore/Cancel? I
(parted) q
Information: You may need to update /etc/fstab.
3.永久挂载
操作步骤:
在操作前先查看挂载设备,确保实验操作设备未挂载,以免影响实验结果
本实验操作对象为/dev/vdb1
[[email protected] ~]# vim /etc/fstab
/dev/vdb1 /mnt xfs defaults 0 0
不备份 不检测
[[email protected] ~]# df #查看是否挂载(因为挂载策略还没有生效,所以显示未挂载)
[[email protected] ~]# mount -a #使/etc/fstsb中记录的挂载策略生效
[[email protected] ~]# df #查看是否挂载
/dev/vdb1永久挂载成功!
4.swap分区
swapon -s #显示swap分区
操作步骤:
fdisk /dev/vdb #分区
分区大小设置为1000M,该分区名字为linux,修改为swap
t change a partition's system id #修改分区功能id
l list known partition types #列出系统可用的分区类型
可以看到修改iswap分区id为82
partprobe #刷新分区信息
cat /proc/partitions #查看分区信息
mkswap /dev/vdb2 #格式化
(1)swap分区临时挂载
swapon -a /dev/vdb2 #启动/dev/vdb2分区swap装置
swapon -s #显示swap分区
(2)swap分区永久挂载
vim /etc/fstab #永久挂载
/dev/vdb2 swap swap defaults 0 0
挂载文件 分区
swapon -a #使/etc/fstab中记载的挂载策略生效
(3)删除swap分区
vim /etc/fstab #删除swap分区内容
swapoff /dev/vdb2
fdisk /dev/vdb #删除分区2
partprobe #刷新分区信息
5.磁盘加密
(1)磁盘加密
实验步骤:
本实验对象为/dev/vdb1,请检查环境,如果正在挂载,请卸载或者换一个实验对象
fdisk /dev/vdb
partprobe #同步分区表
cryptsetup luksFormat /dev/vdb1 #加密
注意:YES必须大写,并且密码必须超过8位,不能太简单
ls /dev/mapper #显示/dev/mapper里面的内容(加密之前只有control)
cryptsetup open /dev/vdb1 westos #以westos的形式打开盖子,会提示输入密码
ls /dev/mapper #显示/dev/mapper里面的内容(加密之后会显示westos)
mkfs.xfs /dev/mapper/westos #格式化westos
mount /dev/mapper/westos /mnt/ #挂载westos
touch /mnt/file{1..10} #建立文件
ls /mnt #查看/mnt目录里的内容
umount /mnt #卸载
ls /mnt #查看/mnt里的内容
ls /dev/mapper #查看设备里的内容
cryptsetup close westos #盖上盖子
ls /dev/mapper #查看设备里的内容
mount /dev/mapper/westos /mnt/ #挂载(挂载不成功)
cryptsetup open /dev/vdb1 westos #打开盖子
mount /dev/mapper/westos /mnt/ #挂载
umount /mnt/ #卸载
ls /mnt #查看/mnt里的内容
(2)加密磁盘的永久挂载
1.vim /root/diskpass #编写含密码的文件
2.chmod 600 /root/diskpass #修改权限,仅用户可读
3.cryptsetup luksAddKey /dev/vdb1 /root/diskpass #编写开机自动识别含密码文件加密的文件
4.vim /etc/crypttab #编写以westos文件解密的文件
westos /dev/vdb1 /root/lukspsfile
解密后设备管理文件 设备 加密字符存放文件
5.vim /etc/fstab #编写开机自动挂载文件
/dev/mapper/westos /mnt xfs defaults 0 0
6.reboot #重启
7.df #查看挂载
测试:
wq保存退出
reboot重启
查看是否挂载
已挂载,操作成功!
(3)加密清除
vim /etc/fstab #清楚自动挂载策略
vim /etc/crypttab #删除以westos形态进行解密的策略
rm -fr /root/diskpass #删除有密码的文件
umount /mnt/ #卸载挂载
cryptsetup close westos #关闭加密磁盘
mkfs.xfs /dev/vdb1 -f #格式化
测试:
6.磁盘列阵
建立磁盘列阵
操作方法:
终端1:监控:watch -n 1 cat /proc/mdstat
终端2:
1.fdisk /dev/vdb #分区 1,2,3 大小为1G
(1)command (m for help):t #修改id(3个分区均进行修改
(2)Partition number (1-3, default 3): 1 #修改第一个分区id
(3)Hex code (type L to list all codes): fd #将分区id修改为" linux raid autodetect "
2.终端2:监控:watch -n 1 cat /proc/mdstat
3.mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}
mdadm 管理磁盘阵列
-C 创建
-a 如果没有/dev/md0,自动建立
-l 级别
-n 运行设备
-x 闲置设备
/dev/vdb{1..3} 使用的设备
4.mkfs.xfs /dev/md0 #格式化
5.mount /dev/md0 /mnt/ #挂载
测试:
建立3个大小均为1G的主分区
修改3个分区id
修改完成后查看分区信息
wq保存退出
打开另一个终端进行监控
watch -n 1 cat /proc/mdstat
在第一个终端:
可以看到监控端
格式化
挂载
操作完成!
管理磁盘列阵
mdadm -D /dev/md0 #查看磁盘列阵状态
mdadm -f /dev/md0 /dev/vdb2 #损坏设备
监控端:
执行该命令后,/dev/vdb2被损坏,闲置设备/dev/vdb3立即替代/dev/vdb2
mdadm -r /dev/md0 /dev/vdb2 #删除设备
监控端:
mdadm -a /dev/md0 /dev/vdb2 #添加设备
监控端:
新添加之后,/dev/vdb2处于备用状态
删除磁盘列阵:
umount /mnt/ #卸载
mdadm -S /dev/md0 #停止磁盘列阵工作
fdisk /dev/vdb #删除设备
partprobe #同步分区表
测试:
监控端: