Linux系统中的磁盘管理

对设备进行管理

1.硬件设备
/dev/sdb1

/devdevice
ssata-串口硬盘 ,有一排金手指,传输数据快
pata并口硬盘,有一排插针,不需要安装驱动
ddisk
aone

2.本地存储设备的识别

fdisk -l真实存在的设备
cat /proc/partitions系统识别的设备
blkid系统可使用的设备
df系统正在挂载的设备

没插入U盘:
在这里插入图片描述
在这里插入图片描述
插入U盘:
在这里插入图片描述
在这里插入图片描述
3.设备的挂载和卸载
设备名称

/dev/xdx/dev/hd0 /dev/hd1 /dev/sda /dev/sdb /dev/sda1 /dev/sda2 /dev/sdb
/dev/sr0光驱
/dev/mapper/*虚拟设备

设备挂载

mount /dev/sdc1 /mnt	##挂载sdc1到mnt
umount /mnt | /dev/sdc1	##卸载
mount -o ro /dev/sdc1 /mnt	##只读挂载
mount 	##查看挂载信息
mount -o remount,rw /dev/sdc1 | /mnt	##重新读写挂载

在这里插入图片描述
在这里插入图片描述
3.解决设备正在忙情况

umount /dev/sdc1
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查询所占用文件系统的进程;
再从目录卸载。

fuser -kvm /dev/sdc1
                     USER        PID ACCESS COMMAND
/dev/sdc1:           root     kernel mount /mnt
                     kiosk      2929 ..c.. bash
                     root       2998 ..c.. bash

 umount /dev/sdc1

在这里插入图片描述
解决方法二:

lsof /dev/sdc1	##列出打开了制定目录文件的进程
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    3310 root  cwd    DIR   8,33    16384    1 /mnt

kill -9 3310	##杀掉pid为3310用户运行的所有进程
umount /dev/sdc1	##卸载该目录

在这里插入图片描述

磁盘划分区

1.磁盘知识点:
磁盘有一个到数个盘片,每个盘片对应一个读写磁头,盘片上有读写磁头、扇区、磁道、主轴。
最外圈为0磁道,磁盘数据存放就是从最外圈0磁道开始的。径向运动磁道检测器构件能够完成磁头对0磁道的定位系统的引导程序在0柱面0磁道1扇区的前446bytes。
磁盘的扇区:操作系统是以扇区为单位将信息储存在i磁盘上,一般每个扇区的大小是512个字节。不同盘面的磁盘被划分为多个扇区。
512=446+64+2

446mbr ,主引导记录硬盘分区标
64mpt,主分区标
255aa,硬盘的有效性标实

一个分区占用16个字节,一块硬盘上最多可以划分4个主分区。
分区可以分为:主分区,扩展分区,逻辑分区。
扩展分区的作用,由于mbr仅能保存4个分区的数据信息,如果超过4个,系统允许额外的硬盘空间存放另外一份磁盘分区信息,这就是扩展分区。将硬盘分为3P(主分区)和E(扩展分区),扩展分区是不能直接使用,需要将扩展分区分为逻辑分区才能使用,因此,达到了使用5个以上的分区。

fdisk /dev/vdb	##打开交互式界面建立分区
m查看帮助
p显示分区信息
n创建新分区——P:主分区、E:扩展分区
d删除一个分区
t修改分区id
q不保存退出
w保存退出

2.分区步骤:

fdisk -l	##列出当前系统中所与磁盘以及磁盘分区
fdisk /dev/vdb	##打开交互式界面子命令
Welcome 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.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x294bfe24.
	(建立分区)
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): +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:  0x45b18170

 Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      206847      102400   83  Linux

Command (m for help): wq	##保存并退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

 partprobe 	##同步分区表
 cat /proc/partitions 
major minor  #blocks  name

 253        0   10485760 vda
 253        1   10484142 vda1
 253       16   10485760 vdb
 253       17     102400 vdb1

在这里插入图片描述
在这里插入图片描述
当已经划分了3个分区:
在这里插入图片描述

fdisk /dev/vdb	##打开交互界面
Welcome 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): n
Partition type:
   p   primary (3 primary, 0 extended, 1 free)
   e   extended
Select (default e): 	##3个主分区出现时要先划分扩展分区
Using default response e
Selected partition 4
First sector (616448-20971519, default 616448): 
Using default value 616448
Last sector, +sectors or +size{K,M,G} (616448-20971519, default 20971519): 
Using default value 20971519
Partition 4 of type Extended and of size 9.7 GiB 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: 0x294bfe24

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      206847      102400   83  Linux
/dev/vdb2          206848      411647      102400   83  Linux
/dev/vdb3          411648      616447      102400   83  Linux
/dev/vdb4          616448    20971519    10177536    5  Extended	##把所有空间都给E

Command (m for help): wq
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

在这里插入图片描述

给设备安装文件系统

mkfs.xfs /dev/vdb1	##格式化1主分区
mount /dev/vdb1 /mnt/	##挂载到/mnt/
vim /etc/fstab	##设置永久挂载,挂载策略文件/etc/fstab
设备        挂载点  文件系统 挂载参数 是否备份 是否检测
/dev/vdb1   /mnt  xfs  defaults  0 0

mount -a	##激活设备
blkid	##查看可用设备,可以看到被格式化好的/dev/vdb1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
删除分区:

umount /dev/vdb1	##卸载
fdisk /dev/vdb
删除分区设备之前,先卸载分区

在这里插入图片描述在这里插入图片描述

swap分区管理

在这里插入图片描述
1.swap分区的建立:

mkswap /dev/vdb5	##格式化5分区
swapon -a /dev/vdb5	##激活5分区
swapon -s	##swap分区的查看
vim /etc/fstab	##永久挂载策略文件
/dev/vdb5   swap  swap  defaults 0 0

在这里插入图片描述
在这里插入图片描述
2.swap分区的删除:

vim /etc/fstab
删除脚本
swapon /dev/vdb5
swapon -s
swapoff /dev/vdb5

3.没有磁盘分区,应急扩建swap分区:

dd if=/dev/zero of=/swapfile bs=1M count=500	##从/dev/zero分割出来给/swapfile,一次分割1M,分割500次
du -sh /swapfile	##查看大小 
mkswap /swapfile	##格式化swap分区
swapon -a /swapfile	##激活swap分区
swapon -s	##查看
swapoff /swapfile	##关闭swap分区
rm -fr /swapfile	##删除swap分区

磁盘配额

磁盘配额是限制普通用户在分区上使用磁盘空间和文件个数。
hard:磁盘空间大小

mkfs.xfs /dev/vdb6	##格式化6分区
mount -o usrquota /dev/vdb6 /mnt/	##将/dev/cdb6挂载到/mnt/下,并开启用户配额功能
chmod 777 /mnt/	##给/mnt/加可读可写可执行权限
edquota -u student	##针对用户student分配磁盘配额
 Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/vdb6                     10240          0      10240          1        0        0

编辑/etc/fstab文件,实现自动挂载:

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

测试:

su - student
dd if=/dev/zero of=/mnt/file bs=1M count=3	##建立file文件,从/dev/zero分割出来给/mnt/file,指定大小为3M
3+0 records in
3+0 records out
3145728 bytes (3.1 MB) copied, 0.0022047 s, 1.4 GB/s

dd if=/dev/zero of=/mnt/file bs=1M count=11	##建立file文件,从/dev/zero分割出来给/mnt/file,指定大小为11M
dd: error writing ‘/mnt/file’: Disk quota exceeded
11+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.00738378 s, 1.4 GB/s

lucks加密

优点:保护文件不被别人看到
缺点:增加cpu的负载、影响cpu的性能

1.划分磁盘分区

fdisk  /dev/vdb	##打开交互式界面,建立分区
partprobe	##同步分区列表
cat /proc/partitions	##查看是否建立成功

2.给磁盘加密

cryptsetup luksFormat /dev/vdb7
(同意用大写YES)

3.格式化分区

mkfs.xfg /dev/vdb7

4.打开

cryptsetup open /dev/vdb7 yee	##磁盘解密生成一个自己命名的虚拟磁盘yee
ll /dev/mapper	##查看该文件存放系统的虚拟设备

5.挂载虚拟磁盘

mount /dev/mapper/yee /mnt/

6.建立文件,此时建立的文件被加密,别人访问不到

touch /mnt/file{1..10}	##可以使用此设备新建文件

7.卸载

umount /mnt/

8.关闭文档

cryptsetup close yee

上锁完成后,下次解密与本次无关,虚拟磁盘名称可以随意变化。
9.如果需要再次查看被加密的文件,需要打开文件,挂载文件,看完后直接卸载就可以了。

cryptsetup open /dev/vdb7 yee
mount /dev/mapper/yee /mnt/
umount /mnt/

加密磁盘开机自动挂载

df	##查看是否挂载,若挂载需要卸载
vim /etc/fstab	##实现自动挂载
/dev/mapper/yee /media xfs defaults 0 0

vim /etc/crypttab	##查看虚拟磁盘需要访问/root/diskpass这个文件索取密码
yee /dev/vdb7 /root/diskpass

vim /root/diskpass	##写入密码
yiyangqianxi

cryptsetup luksAddKey /dev/vdb7 /root/diskpass	##建立设备与密码之间的联系

测试:
重启之后查看挂载,发现自动挂载

reboot
[root@node1 ~]# df
Filesystem      1K-blocks    Used Available Use% Mounted on
/dev/vda1        10473900 3160616   7313284  31% /
devtmpfs           469332       0    469332   0% /dev
tmpfs              484920      80    484840   1% /dev/shm
tmpfs              484920   12800    472120   3% /run
tmpfs              484920       0    484920   0% /sys/fs/cgroup
/dev/vdb1           98988    5280     93708   6% /mnt
/dev/mapper/yee     96940    5180     91760   6% /media

取消加密磁盘开机自动挂载:

删除/etc/fstab /etc/crypttab /root/diskpass相关数据
1.卸载:

[root@node1 ~]# umount /mnt/
[root@node1 ~]# umount /media/

2.关闭虚拟设备

cryptsetup close yee

3.强制格式化设备

mkfs.xfs /dev/vdb7 -f

修改系统磁盘类型

fdisk -l	##显示真实存在的设备
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?                                                      
New disk label type? gpt                                                  
(parted) quit                                                             
Information: You may need to update /etc/fstab.                                            

脚本自动建立swap分区

vim /mnt/create_swap.sh
#!/bin/bash
fdisk /dev/vdb <<EOF
n
p
1

+1G
t
82
wq
EOF
mkswap /dev/vdb1
echo"/dev/vdb1 swap	swap	default 0 0" >> /etc/fstab
swapon -a

sh /mnt/create_swap.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值