Linux磁盘管理

这篇具有很好参考价值的文章主要介绍了Linux磁盘管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、建立磁盘分区

Ⅰ.查看磁盘信息

Ⅱ.扫盘操作

Ⅲ.选择磁盘设备进行操作

Ⅳ.格式化文件系统并挂载

二、LVM 

Ⅰ、逻辑卷的创建过程

(1)PV(Physical Volume,物理卷)

(2)VG(Volume Group,卷组)

(3)LV(Logical Volume,逻辑卷) 

PE(Physical Extend,物理拓展)

Ⅱ、操作命令

三、磁盘配额

Ⅰ、设置磁盘配额

Ⅱ、报错

Ⅲ、磁盘配额

四、磁盘设置不当导致的开机报错


一、建立磁盘分区

Ⅰ.查看磁盘信息

在linux中,我们使用fdisk -l 命令对磁盘及分区信息进行查看 

Linux磁盘管理

在vmware中,我们给linux系统增加一块硬盘,这里我已经添加好了(硬盘2)

Linux磁盘管理

Ⅱ.扫盘操作

ls /sys/class/scsi_host/
#查看host个数
echo "- - -" > /sys/class/scsi_host/host编号/scan
#扫盘操作

Ⅲ.选择磁盘设备进行操作

进入系统,使用命令fdisk /dev/sdb 来进入我们新建的硬盘进行设置

Linux磁盘管理

 设置如下

命令(输入 m 获取帮助):n
Partition type:                                     #新建磁盘分区的种类,p 主分区 ,e 扩展分区
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分区号 (3,4,默认 3):                               #分区号设置
起始 扇区 (20973568-41943039,默认为 20973568):     #设置分区起始,一般默认
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):
#设置分区的容量或结束+**K,M,G
将使用默认值 41943039
分区 3 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):w                              #保存磁盘分区设置

Ⅳ.格式化文件系统并挂载

mkfs.xfs /dev/sdb3     命令格式化分区为xfs文件系统

进入/etc/fstab 来进行永久挂载(不会因系统重启而丧失配置)

Linux磁盘管理

使用

#/etc/fstab
/dev/sdb2     /data/sdb2      xfs       defaults          0    0
   (挂载设备)     (挂载点)    (文件系统) (挂载选项)*(是否dump进行备份)(是否fsck检查分区)
                  



或者磁盘分区uuid的形式进行配置,使用ls -l /dev/disk/by-uuid 查看目标磁盘的uuid,复制过来

#/etc/fstab
UUID=e3402bb4-3071-4dbb-88dd-43955afd90d1  /data/sdb2     xfs        defaults   0   0
(挂载设备的uuid)                           (挂载点)   (文件系统)  (挂载选项)   同上


mount -a 刷新挂载设置


*:0表示不备份,1表示优先备份,2标识备份   0表示不检查,1表示优先检查,2表示检查

创建一个挂载点,与/etc/fstab里的一致

mkdir /data/sdb2 -p

进行挂载

mount  /dev/sdb2  /data/sdb2
挂载    挂载设备    挂载点

最后使用df -hT查看已挂载磁盘信息

Linux磁盘管理

-s 对每个Names参数只给出占用的数据块总数
-a 递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定一s,也不指定一a,则只显示0Mames中的每-个目录及其中的各子目录所占的磁盘块数
-k 以1024字节为单位列出磁盘空间使用情况
-l 计算所有的文件大小,对硬链接文件则计算多次
-h 以容易理解的格式印出文件系统大小,例如136KB、24MB、21GB
-p 使用POSIX输出格式
-T 显示文件系统
-x 跳过在不同文件系统上的目录不予统计
-i 显示inode信息而非块使用量

二、LVM 

LVM(Logical Volume Manager)逻辑卷管理的,是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性。

Ⅰ、逻辑卷的创建过程

把物理磁盘或者分区初始化称为物理卷(PV),然后把若干个PV加入VG(卷组),最后在VG上划分逻辑的分区(LVM),LVM可以当做普通的分区进行格式化和挂载。

(1)PV(Physical Volume,物理卷)

物理磁盘或分区。


(2)VG(Volume Group,卷组)

多个物理卷合起来就组成了卷组;组成同一个卷组的物理卷可以是同一块硬盘的不同分区,也可以是不同硬盘上的不同分区;我们可以把卷组想象为一块逻辑硬盘。


(3)LV(Logical Volume,逻辑卷) 

卷组是一块逻辑硬盘,硬盘必须分区之后才能使用,我们把这个分区称作逻辑卷;逻辑卷可以被格式化和写入数据;我们可以把逻辑卷想象为分区。


PE(Physical Extend,物理拓展)

PE 是用来保存数据的最小单元,我们的数据实际上都是写入 PE 当中的;PE 的大小是可以配置的,默认是 4MB。
 

Ⅱ、操作命令

功能/命令      物理卷管理      卷组管理       逻辑卷管理

扫描               pvscan           vgscan            lvscan

建立               pvcreate         vgcreate         lvcreate

显示               pvdisplay        vgdisplay       lvdisplay

删除               pvremove       vgremove      lvremove

扩展                     —             vgextend        lvextend

缩小                     —             vgreduce        lvreduce
 

注意,如果要对磁盘分区进行操作,该磁盘分区必须要退出挂载(使用umount)

pvcreate   /dev/sdb1   /dev/sdb2            #创建物理卷

pvs  或者  pvdisplay                         #查看物理卷


 WARNING: Device for PV 67Fxpu-S9ou-yycO-21og-NoIc-W3Il-mcNib5 not found or rejected by a filter.
  Couldn't find device with uuid 67Fxpu-S9ou-yycO-21og-NoIc-W3Il-mcNib5.
  PV         VG      Fmt  Attr PSize   PFree  
  /dev/sda2  centos  lvm2 a--  <19.51g      0 
  /dev/sdb1  vg_test lvm2 a--   <5.00g      0 
  /dev/sdb2  vg_test lvm2 a--   <5.00g   4.99g
  [unknown]  centos  lvm2 a-m  <20.00g <20.00g


vgcreate  vg_name   /dev/sdb1   /dev/sdb2   #创建卷组

vgs  或者  vgdisplay                        #查看卷组


WARNING: Device for PV 67Fxpu-S9ou-yycO-21og-NoIc-W3Il-mcNib5 not found or rejected by a filter.
  Couldn't find device with uuid 67Fxpu-S9ou-yycO-21og-NoIc-W3Il-mcNib5.
  VG      #PV #LV #SN Attr   VSize  VFree  
  centos    2   2   0 wz-pn- 39.50g <20.00g
  vg_test   2   1   0 wz--n-  9.99g   4.99g


lvcreate -L 5G -n lv_name vg_name           #创建逻辑卷-L设置大小-n设置名称,要操作的物理卷组

lvs   或者     lvdisplay                    #查看逻辑卷


  WARNING: Device for PV 67Fxpu-S9ou-yycO-21og-NoIc-W3Il-mcNib5 not found or rejected by a filter.
  Couldn't find device with uuid 67Fxpu-S9ou-yycO-21og-NoIc-W3Il-mcNib5.
  LV      VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root    centos  -wi-ao---- <18.73g                                                    
  swap    centos  -wi-ao---- 800.00m                                                    
  lv_test vg_test -wi-ao----   5.00g 


mkdir /data/lvtest                          #创建挂载点
mkfs.xfs  /dev/vgname/lvname                #格式化逻辑卷以进行挂载
进入/etc/fstab设置挂载
mount  /data/vgname/lvname  /data/lvtets    #将/dev/vgname/lvname 挂载到/data/lvtest下
df  -hT                                     #查看挂载情况


/dev/mapper/vg_test-lv_test xfs       5.0G   33M  5.0G    1% /data/lvtest

在对磁盘分区进行操作需要卸载挂载时,如果操作的目录位置处于后台进程运行中时,会出现卸载失败报错的情况,这时我们可以使用  lsof  命令配合  grep   过滤出我们需要查看的进程信息,再使用   kill  命令加上目标进程的PID,"杀死“目标进程,这时我们再次尝试卸载磁盘分区就没有问题了。

lsof | grep ***
kill -9 ********
umonut ****

三、磁盘配额

什么是磁盘配额:

磁盘配额是一种磁盘空间的管理机制,使用磁盘配额可以给不同用户或组在某个特定文件系统中使用一定额度的空间的限制,以妥善分配系统资源,防止个别用户占用大量磁盘空间的恶意行为。

Ⅰ、设置磁盘配额

我们从建立磁盘分区开始

fdisk /dev/sdb
命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (4196352-41943039,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039):

格式化文件系统ext4(注意:只有ext文件类型才支持文件配额)

mkfs.ext4 /dev/sdb1
*sdb1需要处于非mount状态

Ⅱ、报错

如果该磁盘分区之前进行过其他操作,可能会报错

[root@lnx1 ~]# mkfs.ext4 /dev/sde1
mke2fs 1.42.9 (28-Dec-2013)
/dev/sde1 is apparently in use by the system; will not make a 文件系统 here!

解决方法

通过dm解决问题,查看dm状态,显示dm设备信息

[root@lnx1 ~]# dmsetup status
centos-swap: 0 1638400 linear 
centos-root: 0 39272448 linear 
3600508e00000000017cd3aa6870c460a: 0 1952448512 multipath 2 0 0 0 1 1 A 0 1 0 8:16 A 0 

删除dm信息,并再次查看dm状态信息

[root@ljp ~]# dmsetup remove_all
[root@ljp-host ~]# dmsetup status
No devices found

再次进行格式化,格式化成功

[root@lnx1 ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

进入/etc/fstab进行设置

/dev/sdb1               /data                  xfs           defaults   0 0
 
mount -a

 挂载成功

sdb               8:16   0   20G  0 disk 
└─sdb1            8:17   0    3G  0 part /data

Ⅲ、磁盘配额

接下来我们进行磁盘配额的操作,首先检查系统内有无quota工具,yum install -y quota

root@lnx1 /]# yum install -y quota
已加载插件:fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Loading mirror speeds from cached hostfile
ali                                                                                                                                                                                | 3.6 kB  00:00:00
epel                                                                                                                                                                               | 2.9 kB  00:00:00
update                                                                                                                                                                             | 2.9 kB  00:00:00
软件包 1:quota-4.01-19.el7.x86_64 已安装并且是最新版本
无须任何处理
做磁盘配额,首先执行“setenforce 0” 关闭selinux


建立磁盘配额的配置文件

[root@ljp ~]# quotacheck [选项] [分区名]

选项:

-a:扫描/etc/mtab 文件中所有启用磁盘配额功能的分区。如果加入此参数,命令后面就不需要加入分区名了

-c:不管原有的配置文件,重新扫描并建立新的配置文件

-u:建立用户配额的配置文件,也就是生成 aquota.user 文件

-g:建立组配额的配置文件,会生成 aquota.group 文件

-v:显示扫描过程

-m:强制以读写的方式扫描文件系统,和-M 类似。一般扫描根分区时使用。

-f:强制扫描文件系统,并写入新的配置文件。一般扫描新添加的硬盘分区时使用

[root@ljp ~]# quotacheck -avug

对分区以支持配额的方式挂载,使用带“-o usrquota,grpquota”选项remount挂载后使用mount命令查看

/dev/sdb1 on /data/B type xfs (rw,relatime,usrquota,grpquota)

使用quotaon开启磁盘配额

quotaon /data/B

命令quotaon -p 分区 可以查看指定分区的磁盘配额功能是否开启

[root@lnx1 B]# quotaon -p /data/B
group quota on /data/B (/dev/sdb1) is on
user quota on /data/B (/dev/sdb1) is on

使用edquota -u 用户名  命令对用户进行配额限制  |  edquota -g 组名 对用户组进行配额限制 

-t: 设定宽限时间  -p: 复制配额限制。如果已经设定好某个用户的配额限制,其他用户的配额限

[root@lnx1 B]# edquota -u jack
Disk quotas for user jack (uid 1002):
  Filesystem      blocks       soft       hard     inodes     soft     hard
  /dev/sdb1            0       5120      10240          0        1        2
~                                                                                                    
~                             容量大小    容量大小             文件个数  文件个数                           
~                             软限制      硬限制               软限制    硬限制                                  
~                                                                                               
~                                                                                                    
~                                                                                                    
~                                                                                                    
~                                                                                                    
"/tmp//EdP.aTH2nIW" 3L, 216C

 使用dd转换工具验证是否生效,切换到jack用户,jack用户最多能写入10M,最多可以创建2个文件,与磁盘配额相符

[root@lnx1 data]# su jack
[jack@lnx1 data]$ dd if=/dev/zero of=/data/B/2.txt bs=10M count=5
dd: 写入"/data/B/2.txt" 出错: 超出磁盘限额
记录了2+0 的读入
记录了1+0 的写出
10485760字节(10 MB)已复制,0.00976465 秒,1.1 GB/秒

[jack@lnx1 B]$ touch {1..3}.txt
touch: 无法创建"3.txt": 超出磁盘限额
[jack@lnx1 B]$ ls
1.txt  2.txt

需要注意的是,当同时配置了用户限额和组限额时,限制最大的那个生效,用户的附加组设置配额是不生效的

可以执行“quota”和“quota -g”分别查看自己的配额与组配额的使用情况

Disk quotas for user jack (uid 1002): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sdb1   10240*   5120   10240   6days       2*      1       2   6days
[jack@lnx1 B]$ quota -g
Disk quotas for group jack (gid 1002): none

关闭磁盘配额 

[root@ljp ~]# quotaoff [选项] [分区名]

-a:依据/etc/mtab 文件关闭所有的配额分区。如果不加-a,后面就一定要指定分区名

-u:关闭用户配额

-g:关闭组配额

[root@ljp ~]# quotaoff –a

#依据/etc/mtab 文件关闭配额分区

四、磁盘设置不当导致的开机报错

我们可以在/etc/fstab设置开启挂载,不过如果在/etc/fstab定义了挂载信息可是实际并不存在此分区,开机进行分区挂载时就会产生错误,导致我们不能进入操作系统,这是只需要进入急救模式,对/etc/fstab文件进行修改,将不存在的设备信息进行删除,保存退出后进行重启就可以了。文章来源地址https://www.toymoban.com/news/detail-428807.html

到了这里,关于Linux磁盘管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】磁盘分区管理及挂载/永久挂载管理

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年02月04日
    浏览(47)
  • Linux基础笔记18 | 磁盘分区管理

    fdisk 这个古老的软件并不认识 GPT ,所以 fdisk 只支持 MBR 的分区模式,且磁盘小于2T,大于了就不能使用 fdisk 进行分区了 新磁盘的分区 一块新加的磁盘的分区方式 检查系统中需要分区的磁盘 fdisk -l 对新磁盘进行磁盘分区 fdisk /dev/sdb 进入交互式分区界面 键入 m 获取帮助信息

    2024年02月03日
    浏览(46)
  • linux 查看磁盘空间 目录 文件 占用 大小 df du

    df 命令的全称是 Disk Free ,显而易见它是统计磁盘中空闲的空间,也即空闲的磁盘块数。它是通过文件系统磁盘块分配图进行计算出的。 du 命令的全称是 Disk Used ,统计磁盘有已经使用的空间。它是直接统计各文件各目录的大小,而不是从硬盘获得信息的。 常用 df -h 常用du

    2024年02月12日
    浏览(52)
  • Linux Centos系统 磁盘分区和文件系统管理 (深入理解)

    作者主页: 点击! Linux专栏:点击! 磁盘 在Linux系统中,磁盘是一种用于存储数据的物理设备,可以是传统的硬盘驱动器(HDD)或固态硬盘(SSD)。Linux将磁盘设备视为块设备,它们通常以文件形式表示在 /dev 目录下。 文件系统 在计算机系统中, 文件系统 定义了如何存储

    2024年03月15日
    浏览(52)
  • Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理

    LVM,Logical Volume Manger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分区管理的灵活性。 物理设备,是用于保留逻辑卷中所存储数据的存储设备。它们是块设备,可以是磁盘分区、整个磁盘、RAID阵列或SAN磁盘。设备必须初始化为L

    2024年02月01日
    浏览(45)
  • 【Shell 命令集合 磁盘管理 】Linux 创建目录 mkdir 命令使用指南

    Shell 命令专栏:Linux Shell 命令全解析 mkdir命令是Linux系统中的一个用于创建目录的命令。它的作用是在指定的路径下创建一个新的目录。 使用mkdir命令可以方便地创建一个空的目录,该目录可以用于存储文件或其他目录。通过指定路径参数,可以在当前工作目录或其他指定目

    2024年02月08日
    浏览(62)
  • 【Shell 命令集合 磁盘管理 】Linux 列出目录中的文件和子目录 ls命令使用教程

    Shell 命令专栏:Linux Shell 命令全解析 ls命令是Linux系统中常用的一个命令,用于列出目录中的文件和子目录。它的作用是显示当前工作目录中的文件和目录列表。 当我们在终端输入ls命令时,系统会将当前目录中的文件和子目录的名称以及相关信息显示出来。这些信息包括文

    2024年02月08日
    浏览(109)
  • LINUX空间管理之du与df命令查看磁盘容量不一致问题

    在Linux系统的运行过程中,会经常遇到磁盘使用率过高,通过执行 du 与 df 命令查看磁盘容量确出现不一致的现象,例如以下几种现象: 执行 du 和 df 命令显示的结果不一致, df 比 du 命令显示的数据大很多。 使用 df 命令显示磁盘使用率过高,但是执行 du 命令统计目录时却磁

    2024年02月16日
    浏览(51)
  • 查看磁盘信息命令和查看目录以及文件占用空间大小命令

    记录 :313 场景 :在CentOS 7.9操作系统,查看磁盘信息命令、查看目录以及文件占用空间大小命令。主要是df、du、lsblk、fdisk、parted、pvdisplay、vgdisplay、lvdisplay、free等命令。 版本: 操作系统:CentOS 7.9 1.df命令 查看文件系统占用磁盘空间大小。df,disk free简称。 (1)查看帮助 命

    2024年02月07日
    浏览(53)
  • Linux 系统中常见的命令,它们用于执行各种任务,包括文件和目录管理、系统信息查看、用户管理等

    以下是一些在 Linux 系统中常见的命令,它们用于执行各种任务,包括文件和目录管理、系统信息查看、用户管理等。这里列举了一些基础的命令: 文件和目录管理: ls: 列出目录内容。 ls cd: 切换当前目录。 cd /path/to/directory cp: 复制文件或目录。 cp source_file destination mv: 移动

    2024年01月19日
    浏览(96)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包