LINUX系统中的磁盘系统分区管理

时间:2024-04-05 20:16:54

Linux系统中的磁盘系统分区管理

 

1.对本地存储设备的识别:

fdisk -l 命令(系统中真实存在的设备)

如下:(查看真实存在的设备)【存在两块硬盘,vda使用了,vdb还没有使用)】

其中 v代表:virt(虚拟的意思) ,d表示 disk(硬盘) ,a表示 代号:1 的意思    /dev/sdb(虚拟硬盘2) ,dev/sda(虚拟硬盘1)   注:真机里的话一般是/dev/sda   其中s表示sata ;

LINUX系统中的磁盘系统分区管理

cat   /proc/partition (查看系统所能识别到的设备)

LINUX系统中的磁盘系统分区管理

 

blkid   (查看系统可使用的设备):

LINUX系统中的磁盘系统分区管理

df      (系统正在挂载的东西):(查看u盘挂载就可以使用df 命令)

LINUX系统中的磁盘系统分区管理

以真机插入u盘为例:(红框内的 便是我的u盘设备为  /dev/sdb1   挂载到了 /run/media/kiosk/ASUKA下)

LINUX系统中的磁盘系统分区管理

 

2.对fdisk命令的使用:

用fdisk建立新的分区,或者删除分区等:

因为本虚拟机里还有一块没有使用的硬盘vdb,所以我们对vdb进行实验操作:

LINUX系统中的磁盘系统分区管理

 

fdisk    /dev/vdb   #对vdb硬盘进行操作

弹出如下界面:(可以看到此时需要我们输入指令)(下面提示到输入m查看帮助)

LINUX系统中的磁盘系统分区管理

完整的帮助如下:(常用的,n表示添加分区,t更改类型,d删除分区,p查看分区列表,wq退出并保存分区信息,q只退出不保存分区信息)

LINUX系统中的磁盘系统分区管理

我们需要给vdb新增一个分区:输入n:

其中p 代表 primary(主分区的意思),e代表extended(拓展分区的意思),系统默认是建立主分区:

LINUX系统中的磁盘系统分区管理

建立主分区:(从上往下,第一个为分区编号,我们默认执行,First sector 也默认执行,Last sector..给分区空间大小,我们输出+100M表示给100M的空间:)

LINUX系统中的磁盘系统分区管理

最后wq 退出保存 表示新增主分区成功:

LINUX系统中的磁盘系统分区管理

用p查看分区情况:(刚才新增的出现了):

LINUX系统中的磁盘系统分区管理

并且也可以被系统识别到:(多了我们新增的主分区vdb1):

LINUX系统中的磁盘系统分区管理

如果我们想删除vdb1:(可以看到默认只有一个分区所以删除的就是vdb1,当还有vdb2,vdb3时需要输出代号)

LINUX系统中的磁盘系统分区管理

可以看到我们一口气新增了三个主分区:(vdb1,vdb2.vdb3)

LINUX系统中的磁盘系统分区管理

此时删除就需要输入代号了:(dvb2被删除了)

LINUX系统中的磁盘系统分区管理

注:总共最多可以有4个主分区!(总共64字节,每个分区可用16字节)

但是4个主分区存在分区不够,或者电脑空间利用不充分的缺点:

所以我们引入了拓展分区:(extended):

当已经有了三个主分区的时候,系统默认会推荐你添加拓展分区:

LINUX系统中的磁盘系统分区管理

添加成功(并且用完了所有空间)

LINUX系统中的磁盘系统分区管理

另外:在拓展分区里我们还可以新增新的分区:

LINUX系统中的磁盘系统分区管理

新增成功:(vdb5)

 

LINUX系统中的磁盘系统分区管理

 

3.如何给设备安装文件系统(格式化设备):(使我们建立的分区可以正常使用

正常情况下不进行文件系统的安装是无法使用设备的,常用的文件系统有很多比如:

ext3,ext4,xfs,其中 xfs是最新最稳定最强大的,我们选用它!

mkfs.xfs(文件系统,也可以还未ext3,ext4) +  /dev/vdb1(格式化硬盘设备)

可以看到vdb1可以使用了:

LINUX系统中的磁盘系统分区管理

4.设备的挂载和卸载:

/dev/xdx      类型有: ##/dev/hd0  /dev/hd1 /dev/sda  /dev/sdb  /dec/sda1  /dev/sda2
/dev/sr0           #光驱
/dev/mapper/*      #虚拟设备
/sda               #系统第一块串口硬盘,a代表第一块
/cdrom,/dev/sr0   #代表光驱
/hd0               #系统闭口硬盘

 

挂载:

mount    设备   挂载点

mount    /dev/vdb1       /mnt           

将/dev/vdb1挂载到/mnt上去:

LINUX系统中的磁盘系统分区管理

卸载:

umount   /mnt | /dev/vdb1:

LINUX系统中的磁盘系统分区管理

mount -o ro   /dev/vdb1   /mnt               只读挂载(设备还没有挂载的情况下使用)

LINUX系统中的磁盘系统分区管理

mount  查看挂载信息:(东西很多,最底下可以看到关于 设备/dev/vdb1的信息)

图中括号中的第一个  ro 表示只读状态!

LINUX系统中的磁盘系统分区管理

如何变为读写:

执行:mount -o remount,rw /dev/vdb1 | /mnt                #重新挂载,并且可以读写!

执行完  mount后查看结果:

变为了  rw表示更改成功:

LINUX系统中的磁盘系统分区管理

上面的挂载都是临时挂载:如何永久挂载呢:

vim /etc/fstab    #需要编写配置文件

LINUX系统中的磁盘系统分区管理

格式如下:

设备  挂载点                              文件类型(xfs)    挂载参数(defaults)    0(是否备份) 0(是否检测)

LINUX系统中的磁盘系统分区管理

 

#卸载设备,但是报错正忙的解决办法:(一般是由于重复挂载在一个挂载点导致的某个程序正在使用设备

 

a: fuser -vm  + 挂载点  eg: /mnt #查看影响我们正常卸载设备的程序信息

    fuser -kvm+挂载点   eg:/mnt  #直接结束挂在/mnt下的进程,

   然后 umount /mnt 。

 

b: lsof /mnt     #查看占用/mnt的进程信息

     kill -9 进程号  结束进程,

   然后  umount /mnt 。

 

5.swap分区的建立和删除:

(1)建立swap分区:

fdisk /dev/vdb:(输入t,修改分区表的id ,可以看到82为swap分区)

LINUX系统中的磁盘系统分区管理

输入82:(可以看到修改成功了)

LINUX系统中的磁盘系统分区管理

接下来:mkswap  /dev/vdb5 #把vdb5用作swap分区:

LINUX系统中的磁盘系统分区管理

然后:**vdb5为swap分区,并显示swap分区:

LINUX系统中的磁盘系统分区管理

如果想要永久设置swap分区,还需要在 /etc/fstab下编写:

格式如下:

/dev/vdb5           swap      swap   defaults 0 0

如何卸载一个swap分区:

 

注:如果已经将swap分区写入到fstab文件变为永久swap分区,则需要先将里面的swap挂载信息删除掉,然后执行下面的操作

swapoff 设备 表示:卸载  设备的swap分区,swapon -s查看分区;

LINUX系统中的磁盘系统分区管理

如果还想让vdb5恢复最初设置:

LINUX系统中的磁盘系统分区管理

LINUX系统中的磁盘系统分区管理

LINUX系统中的磁盘系统分区管理

然后对它进行格式化,再挂载到某个挂载点即可:(这里需要加-f 强制操作):(因为之前文件类型变为了swap)

LINUX系统中的磁盘系统分区管理

 

最后 :  配额:

我们总会遇到资源分配不均的问题:

所以我们需要给每个用户公平的资源:

当好几个用户共用一个目录时,需要平均分配空间:

实验:我们新建一个根下的messi目录:

将vdb5挂载到/messi上:

LINUX系统中的磁盘系统分区管理

 

mount查看 vdb1的配额功能是否开启:noquota 为未开启;

LINUX系统中的磁盘系统分区管理

 

开启noquota:

开启

LINUX系统中的磁盘系统分区管理

查看

LINUX系统中的磁盘系统分区管理

 

并赋予/messi满权限方便实验:

LINUX系统中的磁盘系统分区管理

再次查看:配额开启成功

LINUX系统中的磁盘系统分区管理

设置用户配额大小:

LINUX系统中的磁盘系统分区管理

LINUX系统中的磁盘系统分区管理

LINUX系统中的磁盘系统分区管理

 

改  hard 部分: 比如 改大小为20480(即设定每一个用户只能上传20M大小的文件超过)

 

如果超过20M可以看到配超出限额了:

LINUX系统中的磁盘系统分区管理

 

 

 

 

 

 

 

 

 

 

相关文章