Linux 基础操作(十六)————存储设备的管理、挂载、磁盘分区

一、设备的查看

1、发现系统中的设备
   fdisk -l
   cat /proc/partitions     ##查看与系统同步的硬盘分区
2、系统发现的,随时可以使用的
   blkid    ##查看设备ID及设备类型
3、发现并且在使用的设备
   df       ##查看正在使用的设备
    -h  ##统计size

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

二、设备名称的读取

用fdisk -l 查看
/dev/xd*
x=s /dev/sd*    ## 表示sata硬盘或iscsi网络存储
x=v /dev/vd*    ## 表示虚拟硬盘,一般出现在虚拟机里
x=h /dev/hd*    ## ide设备,一般出现在老式电脑中
*=a~?      ##/dev/vda,系统中第一块硬盘
/dev/sda1   ##系统中第一块硬盘的第一个分区

/dev/cdrom,/dev/sr[0~?] ##系统中的光驱

/dev/mapper/*   ##系统中的虚拟设备  

这里写图片描述

三、分区管理

1、设备分区信息

1、mbr主引导记录446个字节
2、mpt主分区表64个字节
3、硬盘的有效性标示‘55aa’2个字节
4、一个主分区占用16个字节记录分区信息
5、一块硬盘上如果用mbr的分区方式最多可以存在4个主分区
6、主分区
7、扩展分区
8、逻辑分区

硬盘是圆的,一块空硬盘上会预留512个字节用来引导硬盘刻录,mbr是主引导记录他有446个字节,其次是mpt主分区表64个字节,mpt是用来记录分区表的,能分几个区主要看mpt记录一个分区所用字节,接下来就是硬盘标示有2个字节,因为mbr的分区方式一个分区占用16个字节记录分区信息,所有mbr的分区方式最多可以存在4个主分区,mbr只能支持2TB的存储空间
分区分为主分区,扩展分区和逻辑分区,主分区是能够直接设置的,扩展分区相当于一个袋子用来装除主分区以外的分区,而这些其他的分区就叫做逻辑分区

2、建立分区

fdisk -l            ##查看系统中的设备

fdisk /dev/vdb          ##进入/dev/vdb 设备的交互模式
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 parti:tion'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): p       ##选择主分区类型
Partition number (1-4, default 1): 1        ##确定主分区id
First sector (2048-16777215, default 2048): 2048 ##分区起始块的位置,用默认
Last sector, +sectors or +size{K,M,G} (2048-16777215, default 16777215): +500M              ##添加分区大小
Partition 1 of type Linux and of size 500 MiB is set    

Command (m for help): wq    ##保存分区策略并退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

3、格式化分区

1、为什么要格式化分区
刚刚硬盘是分好区了,但是操作系统并不会读取,这时候就需要一个文件系统当作第三者,提供数据交互的桥梁
目前linux支持的分区有以下几种:

[kiosk@foundation53 ~]$ mkfs
mkfs         mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs
mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat 

windows的文件系统是msdos
xfs是在linux中用的比较多的并且稳定的,它可以扩容热硬盘大小
ext2-4的文件系统支持热扩容或缩减硬盘大小

将刚才新创建的硬盘格式化并转换成xfs格式
这里写图片描述
这里写图片描述

查看系统是否同步了硬盘信息
这里写图片描述
如果没有就用partprobe来同步信息
这里写图片描述

4、删除分区

首先umount分区
这里写图片描述

四、设备的使用

1、挂载

设备必须要用目录来对设备中的内容进行读取,所有设备在使用时需要作挂载动作
格式化硬盘分区并转换格式之后必须通过挂载来使用

mount 设备 挂载目录   ##设备的挂载
mount /dev/vdb1 /mnt
##把系统中第二块硬盘的第一个分区挂载到mnt下

df  ##查看挂载设备及挂载位置
     -h ##显示大小

这里写图片描述

这时设备挂载上之后就可以可读可写了
这里写图片描述

如果只想读取内容,在挂载时使用以下命令
mount /dev/vdb1 -o ro /mnt
##只读挂载第二块硬盘的第一个分区挂载道mnt下

如果只读后想写入的话,就重新挂载
mount /dev/vdb1 -o remount,rw /mnt|/dev/vdb1
##在设备被使用时更改设备的挂载参数为rw(读写)

这里写图片描述

这里写图片描述

2、永久挂载

vim /etc/fstab      ##设备挂载策略文件

设备   挂载点    文件系统类型  挂载参数    是否备份设备 是否检测设备
/dev/vdb1  /new   xfs       defaults       0        0

mount -a        ##让fstab中未生效的策略生效

这里写图片描述
这里写图片描述
这里写图片描述

3、卸载

umount 设备 | 挂载点 ##退出挂载
umount /dev/vdb1 |/mnt

这里写图片描述

=============================================================

注意:当卸载设备是出现下列情况 
 [root@foundation5 mnt]# 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))
可以标示设备正在被系统的某个程序使用,处理方式:

进程发现的方式
lsof /mnt
fuser -vm /mnt

这里写图片描述

进程结束的方式
kill -9 uid
fuser -kvm /mnt
[root@foundation5 ~]# fuser -kvm /mnt
                     USER        PID ACCESS COMMAND
/mnt:                root     kernel mount /mnt
                     root       5325 ..c.. bash
                     root       6106 F.c.. vim


然后umount就好

五、swap分区的管理

swap是交换分区,是系统自己使用的,不需要挂载

1、swap分区的查看

[root@node2 ~]# swapon -s  ##查看swap分区信息
Filename                Type        Size    Used    Priority
/dev/vda2                               partition   819196  0   -1

2、swap分区的建立

[root@node2 ~]# fdisk /dev/vdb ##fdisk管理vdb硬盘

ommand (m for help): t      ##修改分区id
Selected partition 1
Hex code (type L to list all codes): l ##列出所有id类型代码

Hex code (type L to list all codes): 82 ##选择swap分区(82)
Changed type of partition 'Linux' to 'Linux swap / Solaris'

Command (m for help): wq ##保存退出


[root@node2 ~]# mkswap /dev/vdb1  ##格式化设备为swap文件系统格式

[root@node2 ~]# swapon -a /dev/vdb1 ##激活添加swap设备,是系统利用此设备

[root@node2 ~]# vim /etc/fstab ##设置开机启动

/dev/vdb1     swap     swap    defaults        0 0

这里写图片描述
先将分区创建出来并修改它的类型
这里写图片描述
然后格式化文件类型,再激活设备就可以看到了

==============================================================

[root@node2 ~]# dd if=/dev/zero of=/swapfile bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 9.98506 s, 105 MB/s
if 是 输入的内容
of 是 建立的文件目录
bs 是 一块1M
count是 多少块

这里写图片描述
可以看到创建了一个1000M的空文件,接下来就转换他的文件系统类型,然后激活就行了
这里写图片描述
这个操作可以解决内存用完了,就可以通过硬盘容量来解决交换分区缺少的问题
如果想要永久挂载,就和之前一样vim /vim/fstab文件

3、swap分区的删除

swapoff 设备

然后fdisk删除设备、删除/swapfile文件

这里写图片描述

六、磁盘配额

为磁盘使用用户分配额度,分区的配额是针对设备的

1、激活设备配额参数

[root@node2 ~]# mount -o usrquota /dev/vdb1 /mnt

[root@node2 ~]# chmod 777 /mnt/

[root@node2 ~]# edquota -u student /dev/vdb1

Disk quotas for user student (uid 1000):
Filesystem  blocks       soft       hard     inodes     soft     hard
/dev/vdb1       0          0     100000          0        0        0

这里写图片描述
通过edquota命令打开了一个文件,在里面修改hard参数,参数单位是K
可见给student分了100M的存储空间,shudent无法使用存储多于100M

2、永久激活配额

vim /etc/fstab
/dev/vdb1     /mnt xfs  defaults,usrquota 0 0

在挂载参数后加上usrquota的参数就可以了

七、分区方式的修改

[root@node2 ~]# 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?                                                      
aix    amiga  bsd    dvh    gpt    loop   mac    msdos  pc98   sun    
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? y                                                                 
(parted) quit                                                             
Information: You may need to update /etc/fstab.

fdisk -l ##查看分区信息
....
Disk label type: gpt  ##分区标签已经修改成gpt了
...

[root@node2 ~]# partprobe #同步系统和硬盘信息

这里写图片描述
在虚拟机实操上,它提示我硬盘正在使用,需要重启才能够生效
这里写图片描述

八、磁盘加密

1、创建一个磁盘加密的分区

1、建立分区 fdisk            ##先建立空白分区
2、cryptsetup luksFormat /dev/vdb1   ##加密建立的分区
                                         ##yes一定要大写
3、cryptsetup open /dev/vdb1 test    ##打开建立的分区,并命名为test
4、mkfs.xfs /dev/mapper/test         ##默认解密后放在/dev/mapper/test
                    ##格式化为xfs文件类型
5、mount /dev/mapper/test /mnt       ##挂载
   cd /mnt 
   touch file {1..10}
6、cryptsetup close test     ##将解密的文件加密并关闭
7、cryptsetup open /dev/vdb1 test    ##打开
8、mount /dev/mapper/test /mnt       ##挂载
9、ll /mnt               ##看

这里写图片描述
yes 一定要大写,默认加密后的分区存放在/dev/mapper下

接下来就给加密的分区格式话文件系统和挂载
这里写图片描述

关闭加密分区
这里写图片描述

2、加密设备开机自动挂载

1、vim /etc/fstab            ##vim fstab文件    
/dev/mapper/test /mnt xfs defaults 0 0  ##添加设备自动挂载

2、vim /etc/crypttab             ##填写加密硬盘对应关系
test /dev/vdb1 /root/pwdfile

3、vim /root/pwdfile         ##密码
直接写明文密码
chmod 600 /root/pwdfile         ##修改权限,更安全

4、cryptsetup luksAddKey /dev/vdb1 /root/pwdfile
                    ##将硬盘和密码连接起来
5、reboot                ##重启

这里写图片描述

3、清除加密

1、umount /mnt                   ##卸载

2、cryptsetup close test     ##关闭设备

3、mkfs.xfs /dev/vdb1 -f     ##删除设备上的文件系统

4、vim /etc/fstab        ##删除开机自动挂载

5、vim /etc/crypttab         ##删除对应信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值