存储设备的管理
1.设备的查看
1)发现系统中的设备
fdisk -l ##查看系统中真实存在的设备
cat /proc/partitions ##查看系统中被系统识别的设备
2)系统发现的,被系统利用的,有id信息的
blkid ##查看设备的id信息
3)发现并且在挂载的设备
df -h ##用二进制读取,会小一点
df -H ##用十进制读取,会大一点
2.设备名称的读取
/dev/xd*
x=s /dev/sd* ##sata硬盘,或者iscsi网络存储
x=v /dev/vd* ##虚拟硬盘,一般出现在虚拟机里
x=h /dev/hd ##ide硬盘,一般出现在老式电脑中
*=a~… ##/dev/vda,系统中的第一块虚拟硬盘
/dev/sda1 ##系统中第一块sata硬盘的第一个分区
/devcdrom,/dev/sr[0-…] ##系统中的光驱
/dev/mapper/* ##系统中的虚拟设备
3.设备的使用
设备必须要用目录来对设备中的内容进行读取
所以设备在使用时需要做挂载动作
设备挂载
blkid 识别可用设备
mount 设备 挂载点 ##设备的挂载
把系统中第二块虚拟硬盘的第一个分区挂载到mnt下
mount /dev/vdb1 /mnt
挂载第二块虚拟硬盘的第一个分区挂载到mnt下,权限为只读
mount -o ro /dev/vdb1 /mnt
挂载第二块虚拟硬盘的第一个分区挂载到mnt下,后续操作不更改文件时间
mount -o noatime /dev/vdb1 /mnt
在设备被使用时更改设备的挂载参数为rw
mount -o remount,rw /dev/vdb1 /mnt
指定所有人所有组挂载
mount -o usrquota,grpquota /dev/vdb1 /mnt
edquote -u student /dev/vdb2
设备卸载
umount 设备 | 挂载点
umount /dev/vdb1 | /mnt
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
注意:当卸载设备时出现下列情况
[root@foundation23~]#umount /mnt
umount:/mnt: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1))
标示设备正在被系统的某个程序使用,处理方式:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
进程发现的方式
fuser -vm /dev/vdb1
lsof /dev/vdb1
进程终止的方式
kill -9 pid
fuser -kvm /dev/vdb1
4.分区管理
设备分区信息
1.mbr主引导记录446个字节
2.mpt主分区表64个字节
3.硬盘的有效性标识“55aa”2个字节
4.一个主分区占用16个字节记录分区信息
5.一块硬盘上如果用mbr的分区方式最多可以存在4个主分区
6.主分区 ##mbr分区方式下最多4个
7.扩展分区 ##在四个主分区中做一个扩展分区
8.逻辑分区 ##在扩展分区中添加,连主分区最多16个
分区的划分
fdisk /dev/vdb
elcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
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 ##新建分区
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): 1 ##主分区id
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): p
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x193488c3
Device Boot Start End Blocks Id System
/dev/vdb1 2048 206847 102400 83 Linux
Command (m for help): wq ##保存退出,如果按q表示放弃更改退出
partprobe ##同步分区表
cat /proc/partitions ##查看系统识别的分区信息
mkfs.xfs /dev/vdb1 ##格式化
mount /dev/vdb5 /mnt ##临时挂载
vim /etc/fstab ##永久挂载
devic mountpoint ftype defaults(mountpoint) 0 0
/dev/vdb1 /mnt xfs defaults 0 0
## 0 不备份 0 不检测
mount -a ##使/etc/fstab中记录的挂载策略生效
设定分区方式为gpt
[root@server0 ~]# 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
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
swap
1.fdisk /dev/vdb #分区
2.fdisk 中修改swap分区标识 ##fidisk /dev/vdb 中 t 转换分区标识
gpt 14
doc 82
3.
mkswap /dev/vdbn ##格式化
4.
swapon -a /dev/vdbn ##自动挂载
5.
vim /etc/fstab
/dev/vdbn swap swap defaults,pri=1 0 0
6.
swapoff /dev/vdbn
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
文件系统比较
exit4(32TB)是Red Hat Enterprise Linux6的标准文件系统。
它非常强大可靠,具有多项可以提高现代工作量处理性能的功
能
ext2是常用于Linux中较旧的文件系统。它简单可靠,
非常适合小型存储设备,但是效率低于ext4
vfat支持包括一系列相关文件系统(VFAT/FAT16
,FAT32),这些文件系统针对较旧版本的Microsoft
Windows开发,在大量的系统和设备上受支持
xfs在Red Hat Enterprise Linux7的标准文件系统其具
备数据完整、性能稳定、扩展性强(8eb-1byte)、传输速率
高
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
3.磁盘加密
1.磁盘加密
fdisk /dev/vdb ##创建新的分区
cryptsetup luksFormat /dev/vdb1 ##加密@@@@只识别大写YES
cryptsetup open /dev/vdb1 westos ##打开加密的分区
mkfs.xfs /dev/mapper/westos ##格式化分区为xfs格式
mount /dev/mapper/westos /mnt/ ##挂载
umount /mnt/ ##卸载
cryptsetup close westos ##关闭加密分区
2.加密磁盘的永久挂载
vim /etc/crypttab
解密后设备管理文件 设备 加密字符存放文件
westos /dev/vdb1 /root/lukspsfile
vim /root/lukspsfile ##加密字符文件
chmod 600 /root/lukspsfile ##密码文件600权限
cryptsetup luksAddKey /dev/vdb1 /root/lukspsfile ##关联设备和密码文件
vim /etc/fstab ##自动挂载
/dev/mapper/westos /mnt xfs defaults 0 0 ## 0 不备份 0 不检测
mount -a ##检测/etc/fstab自动挂载
3.加密清除
vim /etc/fstab
/etc/crypttab
rm -fr /root/lukspsfile
umount /mnt/
cryptsetup close westos
mkfs.xfs /dev/vdb1
4.磁盘阵列
fdisk /dev/vdb ##创建三个分区,分区标示为raid
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3} ##制作双磁盘一个闲置
mkfs.xfs /dev/md0 ##格式化
mount /dev/md0 /mnt/ ##挂载
watch -n 1 cat /proc/mdstat ##监控
mdadm -f /dev/md0 /dev/vdb1 ##失效指定硬盘
mdadm -D /dev/md0 ##查看raid状态
mdadm -r /dev/md0 /dev/vdb1 ##删除指定硬盘
mdadm -a /dev/md0 /dev/vdb1 ##添加指定硬盘
umount /mnt/ ##取消挂载
mdadm -S /dev/md0 ##停止使用
fdisk /dev/vdb ##删除分区
partprobe ##同步分区表
5.配额
mount -o usrquota /dev/vdb1 /pub ##挂载,加上配额参数打开,默认是关闭的,加-o
edquota -u student ##打开配置配额文件
Disk quotas for user student (uid 1000):
设备 已存在文件 软额度 最大额度 存在文件数量
Filesystem blocks soft hard inodes soft hard
/dev/vdb1 102400 0 40000 1 0 0
su - student
dd if=/dev/zero of=/pub/file bs=1M count=500
dd: error writing ‘/pub/file’: Disk quota exceeded
101+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.0916726 s, 1.1 GB/s
quota
Disk quotas for user student (uid 1000):
Filesystem blocks quota limit grace files quota limit grace
/dev/vdb1 102400* 0 102400 1 0 0
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
若临时磁盘分区已满,没有多于空间分配swap
则
dd if=/dev/zero of=/swapfile bs=1M count=4000
mkswap /swapfile
vim /etc/fstab
/swapfile swap swap defaults 0 0
swapon -a
swapon -s
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@