磁盘的管理

来源:互联网 发布:天苍苍野茫茫网络歌手 编辑:程序博客网 时间:2024/05/21 21:36
存储设备的管理

1.设备的查看
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  ##给特定用户配额
【配额命令介绍】
Filesystemblickssofthardinodessofthard/dev/vdb100204800000设备名称已使用的区块空间软限额空间硬限额分区拥有文件数文件软限额文件硬限额【示例】给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         联系文件内容删除