存储设备的管理
1.设备的查看
1)发现系统中的设备
fdisk -l
cat /proc/partitions
【示例】
2)系统发现的,但是没有投入使用的,随时可以使用的设备
blkid #查看设备的id信息
【示例】
3)发现并在使用的设备
df -h
df -H
【示例】
2.设备名称的读取
/dev/xd*
【参数介绍】
*=a-.... ## /dev/vda,系统中第一块虚拟硬盘
/dev/cdrom,/dev/sr[0-....] ##系统中的光驱
/dev/mapper/* ##系统中的虚拟设备
【示例】查看系统中的光驱和虚拟设备
3.设备的使用
【挂载】
设备必须要用目录对设备中的内容进行读取
所以设备在使用时需要做挂载动作
blkid 识别也用设备
mount 设备 挂载点 ###设备的挂载
###把系统中第二块硬盘的第一个分区挂载到mnt下###
mount /dev/sdb1 /mnt
###只读把系统中第二块硬盘的第一个分区挂载到mnt下###
mount -o ro /dev/sdb1 /mnt
【例1】只读挂载后不能新建文件
###在设备被使用时更改设备的挂载参数为rw
mount -o remount rw /mnt
【例2】更改挂载设备的参数后可以新建文件,如aaa文件
【解挂】
umount 设备 | 挂载点
umount /dev/sdb1 | /mnt
注意:当卸载设备时出现下列情况
表示设备正在被系统的某个程序使用,处理方式:
进程发现的方式
fuser -vm /dev/sdb1
lsof /dev/sdb1
进程终止的方式
kill -9 pid
fuser -kvm /dev/sdb1
【示例】发现进程以及终止进程后设备可以解挂
4.分区管理
##设备的分区信息##
1.mbr主引导记录446个字节
2.mpt主分区表64个字节
3.硬盘的有效性标识“55aa”2个字节
4.一个主分区占用16个字节记录分区信息
5.一块硬盘上如果用mbr的分区方式最多可存在4个分区
6.主分区:分区信息如果存储在主引导记录扇区的分区表中,我们称之为主分区
7.扩展分区:由于主引导记录扇区空间的限制,一块磁盘最多有4个主要分区,如果需要更多的分区怎么办?有一种特殊的分区,专门用来存储更多的分区,这种分区称之为扩展分区。
一块磁盘只能有一个扩展分区,因此一个磁盘最多只能有3个主分区+1个扩展分区
8.逻辑分区:存储在扩展分区中的分区称之为逻辑分区,每一个逻辑分区都可以存储一个文件系统
###新建分区###
【参数】
[root@server ~]# fdisk /dev/vdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x480a05b3 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):m
命令操作
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)
命令(输入 m 获取帮助):
【新建以及使用】
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free) ##主分区
e extended ##扩展分区
Select (default p): p ##选择主分区
分区号 (1-4,默认 1): ##确定主分区id
起始 扇区 (2048-20971519,默认为 2048): ##分区起始位置,选择默认
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+100M ##分区结束的位置,设定大小为100M
分区 1 已设置为 Linux 类型,大小设为 100 MiB
命令(输入 m 获取帮助):wq ##保存分区策略并退出fdisk界面
cat /proc/partitions ##查看设备是否被系统识别
mkfs.xfs /dev/vdb1 ##格式化设备,在设备上安装系统xfs
blkid ##查看可用设备,可以看到格式化好的/dev/vdb1
mount /dev/vdb1 /mnt ##挂载设备,使设备投入使用
【示例】
###设备的永久挂载###
vim /etc/fstab ##设备挂载策略文件
mount -a ##让fstab中未生效的策略生效
【示例】设备挂载文件编写内容为最后一行
文件生效后检验设备已挂载上
###删除分区###
umount /dev/vdb1 ##解挂
fdisk /dev/vdb
【示例】
5.swap分区的管理
##swap分区的查看##
swapon -s
【示例】
##swap分区的建立##
命令(输入 m 获取帮助):t ##修改分区id
已选择分区 1
Hex 代码(输入 L 列出所有代码):82 ##修改为swap分区,其代码为82
已将分区“Empty”的类型更改为“Linux swap / Solaris”
命令(输入 m 获取帮助):wq
The partition table has been altered!
Hex 代码(输入 L 列出所有代码):l ##列出所有id类型代码
【示例】
mkswap /dev/vdb1 ##格式化设备为swap文件系统格式
swapon -a /dev/vdb1 ##激活swap设备,使系统利用格式化设备
【示例】
###设备的永久挂载###
vim /etc/fstab ##设备挂载策略文件
mount -a ##让fstab中未生效的策略生效
###当磁盘全部被占用 ,不能创建新分区时,可以用文件代替分区##
dd if=/dev/zero of=/swapfile bs=1M count=50
【示例】
#此文件创建后的步骤和设备的步骤一样#
mkswap /dev/vdb1 ##格式化设备为swap文件系统格式
swapon -a /dev/vdb1 ##激活swap设备,使系统利用格式化设备
【示例】
###swap分区的删除###
vim /etc/fstab
swapoff /dev/vdb1
swapoff /swapfile
rm -fr /swapfile
fdisk /dev/vdb
【示例】
6.磁盘的配额
为磁盘使用用户分配额度
分区配额针对与设备的
######激活设备的配额参数####
mount -o surquota /dev/vdb1 /mnt ##挂载时激活配额参数
chmod 777 /mnt ##给挂载点权限允许用户使用
edquota -u student /dev/vdb1 ##给特定用户配额
【配额命令介绍】
【示例】给student用户限额
student用户在/mnt下额度受限
但在其他设备中不受限,说明是针对设备的不是针对用户
7.分区方式修改
[root@localhost ~]# parted /dev/vdb
GNU Parted 3.1
使用 /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel ##修改设备分区方式标签
新的磁盘标签类型?
aix amiga bsd dvh gpt loop mac msdos pc98 sun
新的磁盘标签类型? gpt ##改为gpt格式
警告: 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
(parted) quit
信息: You may need to update /etc/fstab.
【示例】
8.分区加密
###步骤###
1.建立分区
cryptsetup luksFormat /dev/vdb1 ##给分区加密
cryptsetup open /dev/vdb1 westos ##从设备中划分一个文件系统并的用密码打开
mkfs.xfs /dev/mapper/westos ##格式化
mount /dev/mapper/westos /mnt/ ##挂载
【示例】
###加密设备自动挂载##
[root@localhost ~]# vim /etc/fstab ## 开机挂载文件
/dev/mapper/westos /mnt xfs defaults 0 0
[root@localhost ~]# vim /etc/crypttab ###编写设备和密码联系文件
westos /dev/vdb1 /root/passfile
[root@localhost ~]# vim /root/passfile ##密码文件
2017redhat
[root@localhost ~]# chmod 600 /root/passfile
[root@localhost ~]# cryptsetup luksFormat /dev/vdb1 /root/passfile ##通过密码文件给分区加密
【示例】上面的步骤执行示例
开机文件
联系文件
密码文件
##加密的清除###
[root@localhost ~]# umount /dev/mapper/westos ##解挂
[root@localhost ~]# cryptsetup close westos ###关闭文件系统
[root@localhost ~]# mkfs.xfs /dev/vdb1 -f 格式化
[root@localhost ~]# vim /etc/fstab 开机文件添加内容删除
[root@localhost ~]# vim /etc/crypttab 联系文件内容删除
1)发现系统中的设备
fdisk -l
cat /proc/partitions
【示例】
2)系统发现的,但是没有投入使用的,随时可以使用的设备
blkid #查看设备的id信息
【示例】
3)发现并在使用的设备
df -h
df -H
【示例】
2.设备名称的读取
/dev/xd*
【参数介绍】
x=s | /dev/sd* | sata硬盘或者iscsi网路i存储 |
x=v | /dev/vd* | 虚拟硬盘,一般出现在虚拟机里 |
x=h | /dev/hd* | ide硬盘,一般出现在老式电脑里 |
*=a-.... ## /dev/vda,系统中第一块虚拟硬盘
/dev/cdrom,/dev/sr[0-....] ##系统中的光驱
/dev/mapper/* ##系统中的虚拟设备
【示例】查看系统中的光驱和虚拟设备
3.设备的使用
【挂载】
设备必须要用目录对设备中的内容进行读取
所以设备在使用时需要做挂载动作
blkid 识别也用设备
mount 设备 挂载点 ###设备的挂载
###把系统中第二块硬盘的第一个分区挂载到mnt下###
mount /dev/sdb1 /mnt
###只读把系统中第二块硬盘的第一个分区挂载到mnt下###
mount -o ro /dev/sdb1 /mnt
【例1】只读挂载后不能新建文件
###在设备被使用时更改设备的挂载参数为rw
mount -o remount rw /mnt
【例2】更改挂载设备的参数后可以新建文件,如aaa文件
【解挂】
umount 设备 | 挂载点
umount /dev/sdb1 | /mnt
注意:当卸载设备时出现下列情况
表示设备正在被系统的某个程序使用,处理方式:
进程发现的方式
fuser -vm /dev/sdb1
lsof /dev/sdb1
进程终止的方式
kill -9 pid
fuser -kvm /dev/sdb1
【示例】发现进程以及终止进程后设备可以解挂
4.分区管理
##设备的分区信息##
1.mbr主引导记录446个字节
2.mpt主分区表64个字节
3.硬盘的有效性标识“55aa”2个字节
4.一个主分区占用16个字节记录分区信息
5.一块硬盘上如果用mbr的分区方式最多可存在4个分区
6.主分区:分区信息如果存储在主引导记录扇区的分区表中,我们称之为主分区
7.扩展分区:由于主引导记录扇区空间的限制,一块磁盘最多有4个主要分区,如果需要更多的分区怎么办?有一种特殊的分区,专门用来存储更多的分区,这种分区称之为扩展分区。
一块磁盘只能有一个扩展分区,因此一个磁盘最多只能有3个主分区+1个扩展分区
8.逻辑分区:存储在扩展分区中的分区称之为逻辑分区,每一个逻辑分区都可以存储一个文件系统
###新建分区###
【参数】
[root@server ~]# fdisk /dev/vdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x480a05b3 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):m
命令操作
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)
命令(输入 m 获取帮助):
【新建以及使用】
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free) ##主分区
e extended ##扩展分区
Select (default p): p ##选择主分区
分区号 (1-4,默认 1): ##确定主分区id
起始 扇区 (2048-20971519,默认为 2048): ##分区起始位置,选择默认
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+100M ##分区结束的位置,设定大小为100M
分区 1 已设置为 Linux 类型,大小设为 100 MiB
命令(输入 m 获取帮助):wq ##保存分区策略并退出fdisk界面
cat /proc/partitions ##查看设备是否被系统识别
mkfs.xfs /dev/vdb1 ##格式化设备,在设备上安装系统xfs
blkid ##查看可用设备,可以看到格式化好的/dev/vdb1
mount /dev/vdb1 /mnt ##挂载设备,使设备投入使用
【示例】
###设备的永久挂载###
vim /etc/fstab ##设备挂载策略文件
mount -a ##让fstab中未生效的策略生效
设备 | 挂载点 | 文件系统类型 | 挂载参数 | 是否备份设备 | 是否检查设备 |
/dev/vdb1 | /mnt | xfs | defaults | 0 | 0 |
【示例】设备挂载文件编写内容为最后一行
文件生效后检验设备已挂载上
###删除分区###
umount /dev/vdb1 ##解挂
fdisk /dev/vdb
【示例】
5.swap分区的管理
##swap分区的查看##
swapon -s
【示例】
##swap分区的建立##
命令(输入 m 获取帮助):t ##修改分区id
已选择分区 1
Hex 代码(输入 L 列出所有代码):82 ##修改为swap分区,其代码为82
已将分区“Empty”的类型更改为“Linux swap / Solaris”
命令(输入 m 获取帮助):wq
The partition table has been altered!
Hex 代码(输入 L 列出所有代码):l ##列出所有id类型代码
【示例】
mkswap /dev/vdb1 ##格式化设备为swap文件系统格式
swapon -a /dev/vdb1 ##激活swap设备,使系统利用格式化设备
【示例】
###设备的永久挂载###
vim /etc/fstab ##设备挂载策略文件
mount -a ##让fstab中未生效的策略生效
设备 | 挂载点 | 文件系统类型 | 挂载参数 | 是否备份设备 | 是否检查设备 |
/dev/vdb1 | /swap | swap | defaults | 0 | 0 |
###当磁盘全部被占用 ,不能创建新分区时,可以用文件代替分区##
dd if=/dev/zero of=/swapfile bs=1M count=50
【示例】
#此文件创建后的步骤和设备的步骤一样#
mkswap /dev/vdb1 ##格式化设备为swap文件系统格式
swapon -a /dev/vdb1 ##激活swap设备,使系统利用格式化设备
【示例】
###swap分区的删除###
vim /etc/fstab
swapoff /dev/vdb1
swapoff /swapfile
rm -fr /swapfile
fdisk /dev/vdb
【示例】
6.磁盘的配额
为磁盘使用用户分配额度
分区配额针对与设备的
######激活设备的配额参数####
mount -o surquota /dev/vdb1 /mnt ##挂载时激活配额参数
chmod 777 /mnt ##给挂载点权限允许用户使用
edquota -u student /dev/vdb1 ##给特定用户配额
【配额命令介绍】
Filesystem | blicks | soft | hard | inodes | soft | hard |
/dev/vdb1 | 0 | 0 | 204800 | 0 | 0 | 0 |
设备名称 | 已使用的区块 | 空间软限额 | 空间硬限额 | 分区拥有文件数 | 文件软限额 | 文件硬限额 |
student用户在/mnt下额度受限
但在其他设备中不受限,说明是针对设备的不是针对用户
7.分区方式修改
[root@localhost ~]# parted /dev/vdb
GNU Parted 3.1
使用 /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel ##修改设备分区方式标签
新的磁盘标签类型?
aix amiga bsd dvh gpt loop mac msdos pc98 sun
新的磁盘标签类型? gpt ##改为gpt格式
警告: 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
(parted) quit
信息: You may need to update /etc/fstab.
【示例】
8.分区加密
###步骤###
1.建立分区
cryptsetup luksFormat /dev/vdb1 ##给分区加密
cryptsetup open /dev/vdb1 westos ##从设备中划分一个文件系统并的用密码打开
mkfs.xfs /dev/mapper/westos ##格式化
mount /dev/mapper/westos /mnt/ ##挂载
【示例】
###加密设备自动挂载##
[root@localhost ~]# vim /etc/fstab ## 开机挂载文件
/dev/mapper/westos /mnt xfs defaults 0 0
[root@localhost ~]# vim /etc/crypttab ###编写设备和密码联系文件
westos /dev/vdb1 /root/passfile
[root@localhost ~]# vim /root/passfile ##密码文件
2017redhat
[root@localhost ~]# chmod 600 /root/passfile
[root@localhost ~]# cryptsetup luksFormat /dev/vdb1 /root/passfile ##通过密码文件给分区加密
【示例】上面的步骤执行示例
开机文件
联系文件
密码文件
##加密的清除###
[root@localhost ~]# umount /dev/mapper/westos ##解挂
[root@localhost ~]# cryptsetup close westos ###关闭文件系统
[root@localhost ~]# mkfs.xfs /dev/vdb1 -f 格式化
[root@localhost ~]# vim /etc/fstab 开机文件添加内容删除
[root@localhost ~]# vim /etc/crypttab 联系文件内容删除