###################
###存储设备的管理##
###################
1.设备的查看
1发现系统中设备
fdisk -l
cat /proc/partitions
2系统发现的但是没有投入使用,随时可以使用
blkid 查看设备的id信息
3发现并且在使用的设备
df -h ##统计方式为1G=2的n次方
-H ##统计方式为1G=10的n次方
##2.设备名称的读取
/dev/xd*
x=s /dev/sd* #sata硬盘,或者iscsi网络存储
x=v /dev/vd* #虚拟硬盘,一般出现在虚拟机中
x=h /dev/hd* #ide硬盘,一般出现在老式电脑
d #硬盘的意思
*=a~... #/dev/vda,系统中第一块虚拟硬盘
#/dev/vdb,系统中的第二块虚拟硬盘
/dev/sda1 #系统中第一块sata硬盘的第一个分区
/dev/cdrom,/dev/[0-...] #系统中的光驱
/dev/mapper/* #系统中的虚拟设备
##3.对设备的使用
设备必须要用目录来对设备中的内容进行读取
所以设备在使用时需要作挂载动作
blkid ##识别可用设备
mount ##设备 挂载点
mount /dev/sdb1 /mnt 把系统中第二块硬盘的第一分区挂载到mnt
设备卸载
target is busy
表示设备正在被系统使用
进程发现的方式
fuser -vm /dev/sdb1
lsof /dev/sdb1
进程终止的方式
kill -9 pid
fuser -kvm /dev/sdb1
umount 设备|挂载点
umount /dev/sdb1 | /mnt把系统中第二块硬盘的第一分区卸载
mount -o ro /dev/sdb1 /mnt 只读挂载
mount -o remount,rw /mnt 在线重新挂载并不终止访问
###4.分区管理
#设备分区信息
1mbr主引导记录446个字节(能完成此动作最短的代码)
关机之后的指定位置,0磁道1扇区,读取之后到指定的系统启动分区
0磁道1扇区的512个字节-mbr主引导记录446个字节=66个字节这66个字节中还包含mpt主分区64个字节和55aa(硬盘的有效性标识)2个字节
2mpt主分区表64个字节
3硬盘的有效性标识“55aa”2个字节
告诉系统哪块是干嘛用的
4一个主分区占用16个字节记录分区信息
5一块硬盘上如果用mbr的分区方式最多可以存在四个主分区
主分区有四个最大2TB;
扩展分区是容器用来解决主分区不足的问题,它来装逻辑分区自身不能用;
逻辑分区是扩展分区里面的分区。
fdisk -l
fdisk /dev/vdb
Command (m for help): 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 ##输入n创建分区
Partition type: ##输入你所创建的分区类型
p primary (0 primary, 0 extended, 4 free) ##主分区
e extended ##扩展分区
Select (default p): p
Partition number (1-4, default 1): 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##分区结束以加大小的方式指定
Partition 1 of type Linux and of size 100 MiB is set
Command (m for help): wq ##保存分区策略并退出fdisk界面
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks. ##完成
cat /proc/partitions ##查看设备是否被系统识别
mkfs.xfs /dev/vdb1 ##格式化设备,在设备上安装文件系统xfs
blkid ##查看可用设备,可以看到被格式化好的/dev/vdb1
mount /dev/vdb1 /mnt ##挂载设备使设备投入使用
##文件系统的类别
ext2-4
fat 4TB 链式文件系统不稳定
wtfs 32TB 链式文件系统不稳定
xfs 18EB 分布式文件系统更稳定
##设备永久挂载
vim /etc/fstab 设备挂载策略文件
设备 挂载点 文件系统类型 挂载参数 是否备份 是否检测
/dev/vdb1 /westos xfs p ddefaults 0 0
mount -a 让fstab中未生效的策略生效
5swap 分区管理
1swap分区的查看
swapon -s
filename type size used priority
/dev/sda7 partition 8142844 744 -1
2swap分区的建立
1划分分区,并修改分区的id为swap
fdisk /dev/vdb 建立分区
[root@node2 Desktop]# 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 分区id号
First sector (2048-20971519, default 2048): 默认
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +1000M加容量
Partition 1 of type Linux and of size 1000 MiB is set
Command (m for help): wq退出保存
[root@node2 Desktop]# fdisk /dev/vdb
Command (m for help): t修改id号
Selected partition 1
Hex code (type L to list all codes): l 列出文件id类型
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT
输入82
wq
mkswap /dev/vdb1 格式化设备为swap文件系统格式
swapon -a /dev/vdb1 激活swap设备,使系统利用此设备
vim /etc/fstab 让此设备开机自动激活
/dev/vdb1 swap swap defaults 0 0
当磁盘被占满,不能创建分区时可以用文件来代替分区
[root@node2 Desktop]# dd if=/dev/zero of=/swapfile bs=1M count=1000
此文件创建后的步骤和设备的步骤一致,先格式化再激活再查看
swap分区的删除
[root@node2 Desktop]# vim /etc/fstab
[root@node2 Desktop]# swapoff /dev/vdb1
[root@node2 Desktop]# swapoff /swapfile
[root@node2 Desktop]# fdisk /dev/vdb
rm -fr /swapfile
###6.磁盘配额
#为磁盘使用用户分配额度
分区配额是针对设备的
1.激活设备配额参数
[root@node2 Desktop]# fdisk /dev/vdb
mkfs.xfs: /dev/vdb1 appears to contain an existing filesystem (swap).
mkfs.xfs: Use the -f option to force overwrite.
[root@node2 Desktop]# mkfs.xfs -f /dev/vdb1
[root@node2 Desktop]# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"
/dev/vdb1: UUID="e3e002e5-e5fb-46f4-8ad5-567473970896" TYPE="xfs"
ot@node2 Desktop]# mount /dev/vdb1 /zzf
[root@node2 Desktop]# df
[root@node2 Desktop]# chmod 777 /zzf/
ot@node2 Desktop]# edquota -u student /dev/vdb1
Filesystem blocks soft hard inodes soft hard
/dev/vdb1 0 0 0 0 0 0
dd if=/dev/zero of=/zzf/file bs=1M count=额限
分区方式修改
由于mbr分区不够用只能四个但是gpt可以记录18eb所以企业服务器用gpt
弊端就是gpt需要一个分区来引导其他分区,如果损坏数据全部会丢失
个体服务一般用mbr
[root@node2 Desktop]# 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? gpt 修改为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
(parted) quit
Information: You may need to update /etc/fstab.
测试 fdisk -l 可以看到更改了(看到的是硬盘的,cat那个命令是看系统的)
###7.分区加密
1.建立分区
cryptsetup luksFormat /dev/vdb1 加密
cryptsetup open /dev/vdb1 zzf 打开加密设备并赋予一个新名字
mkfs.xfs /dev/mapper/zzf 格式化加密设备
mount /dev/mapper/zzf /tmp/ 挂载加密的设备
touch /tmp/file{1..3} 在挂载点创建文件
cd /tmp
ls
file1 file2 file3 验证可以看到创建的东西
umount /tmp
cryptsetup close zzf 关上加密的设备
cryptsetup open /dev/vdb1 zzf 打开加密的设备
Enter passphrase for /dev/vdb1: 输入密码
mount /dev/mapper/zzf /tmp 挂在加密设备
cd /tmp
ls
file1 file2 file3 验证可以看到加密设备里的东西
让以上操作永久生效要修改配置文件
vim /etc/fstab 修改设备挂在文件
/dev/mapper/zzf /mnt xfs defaults 0 0
vim /etc/crypttab 修改加密文件
zzf /dev/vdb1 /root/passfile
vim /root/passfil 修改密码文件
nian123qwe
chmod 600 /root/passfile 给密码文件600权限较安全
cryptsetup luksAddKey /dev/vdb1 /root/passfile
Enter any passphrase: 输入密码
umount /dev/mapper/zzf 卸载设备
cryptsetup close zzf 关闭设备
mkfs.xfs /dev/vdb1 -f 强制格式化
加密设备的删除也要修改配置文件
vim /etc/fstab
vim /etc/crypttab
rm -fr /root/passfile