• Linux 磁盘管理+实例


    目录

    一、文件系统

    二、添加磁盘

    三、查看磁盘信息(块设备)

    四、分区

    1、格式

    1)MBR分区

    2)GPT分区

    2、管理分区

    1)使用fdisk

    2)使用gdisk

    3)使用parted

    a.交互式

    b.非交互式

    3、格式化分区

    五、挂载

    1、格式:

    2、取消挂载

    3、自动挂载

    六、查看磁盘空间使用量

    1、df

    2、du

     七、实操(分区+格式化+挂载) 


    一、文件系统

    Windows常见的文件系统:nfs、fat32

    Linux常见的文件系统:ext4,xfs,vfat

    nfs(Windows Network File System) :电脑使用的新式的文件系统,只能在Windows上用

    fat32:跨平台,兼容性强,稳定性好,一般用于U盘,但大小有限制

    ext4:配置了日志系统,软件数据容易恢复,注重稳定性

    xfs:更注重性能,性能更强

    vfat:类似fat32,为跨平台而设计的

    二、添加磁盘

    如何再添加一块磁盘? 

    选择要配置的虚拟机(关机状态),打开虚拟机设置,硬件下 “添加” ,点击后,硬件类型选择硬盘,然后一直下一步就🆗,最后记得“完成”+"确定"

    磁盘类型推荐选择NVMe(V)[专门兼容固态盘],磁盘大小不要给太大,20G左右就足够了

    三、查看磁盘信息(块设备)

    1. [root@localhost ~]# lsblk
    2. [root@localhost ~]# lsscsi

    四、分区

    1、格式

    1)MBR分区

            分区空间最大支持2.2TB;支持的分区数量:4个主分区或者3个主分区1个扩展分区

            主分区(primary partition):一块硬盘最多4个主分区,主分区不可以再进行二次分区。 主分区可以直接建立文件系统,存放数据 可以用来引导、启动操作系统

            扩展分区(extended partition):一块硬盘最多一个扩展分区,加主分区最多4个,不能创建文件系统;扩展分区可以划分逻辑分区(logical partition),逻辑分区可以创建文件系统,存放数据逻辑分区的数量没有限制。

    2)GPT分区

            ——比MBR分区更先进、更灵活的磁盘分区模式

    在默认情况下,GPT最多可支持128个分区

    支持大于2.2TB的总容量及大于2.2TB的分区,最大支持18EB(1EB=1024PB,1PB=1024TB)

    GPT分区表自带备份;向后兼容,GPT分区表上包含保护性的MBR区域

    2、管理分区

    1)使用fdisk

            ——默认将磁盘划分为mbr格式的分区;以交互方式进行操作,在菜单中选择相应功能键即可

            命令:fdisk 设备名

    1. [root@localhost ~]# fdisk /dev/sda #对sda进行分区
    2. Command (m for help): # 进入fdisk交互界面进行分区
    3. Command (m for help): m #输入m可查看帮助信息
    4. Command (m for help): n #输入n创建新分区
    5. Select (default p): p #输入p创建主分区
    6. Command (m for help): p #输入p查看分区信息
    7. Command (m for help): w #所有分区设置完成后,输入w保存,即可退出fdisk交互界面

    2)使用gdisk

            ——默认将磁盘划分为GPT格式的分区

    1. [root@localhost ~]# gdisk /dev/sda #进入gdisk交互界面
    2. Command (? for help): ? #输入?可查看帮助信息
    3. Command (? for help): n #输入n创建新分区
    4. Command (? for help): p #输入p查看分区情况
    5. Command (? for help): w #输入w保存分区并退出gdisk交互界面
    6. Do you want to proceed? (Y/N): y

    3)使用parted

    a.交互式
    1. [root@localhost ~]# parted /dev/sda #进入parted交互界面
    2. (parted) help #输入help查看帮助信息
    3. (parted) mklabel #创建一个分区表
    4. New disk label type? yes
    5. New disk label type? gpt
    6. #默认为msdos形式的分区,我们要正确分区大于2TB的磁盘,应该使用gpt方式的分区表,输入gpt后回车
    7. (parted) mkpart #进行分区操作
    8. Partition name? []? dp2 #输入分区名称
    9. File system type? [ext2]? #文件系统 (类型:ext4,ext3,ext2,xfs,其他...... )
    10. Start? 0
    11. #开始位置 (0:设定当前分区的起始点为磁盘的第一个扇区;1G:设定当前分区的起始点为磁盘的1G处开始)
    12. End? 10G
    13. #结束位置(-1:设定当前分区的结束点为磁盘的最后一个扇区;10G:设定当前分区的结束点为磁盘的10G处)
    14. (parted) p #查看分区信息
    15. (parted) quit #退出parted交互界面
    b.非交互式

    ——可将命令行写在脚本中,运行脚本实现一键创建;适用于远程批量管理多台主机的场景。 设置分区格式为gpt/mbr

    格式: parted 设备 mkpart PART-TYPE [FS-TYPE] START END

    PART-TYPE:分区类型,primary(主分区)logical(逻辑分区)extended(扩展分 区)

    FS-TYPE:可选项,文件系统类型,ext4、ext3、xfs等等

    START:设定磁盘分区起始点;可以为0或者numberMiB/GiB/TiB

    END:设定磁盘分区结束点;可以为-1或者numberMiB/GiB/Ti

    1. [root@localhost ~]# parted /dev/sda mklabel gpt
    2. [root@kongd ~]# parted /dev/sda mklabel msdos
    1. #创建1G大小的分区
    2. [root@localhost ~]# parted /dev/sda mkpart primary 0 1G
    3. #删除分区
    4. [root@kongd ~]# parted /dev/sda rm 1

    3、格式化分区

    格式化的目的: 是为了形成文件系统,文件系统是操作系统用于明确存储设备或分区上的文件的方法和 数据结构;即在存储设备上组织文件的方法。

    格式: mkfs|mkfs.xfs|mkfs.ext4 [选项] 分区的设备名

    选项:

    -t 文件系统类型——当命令名为mkfs时,指定要创建的文件系统的类型(如:xfs、ext4、vfat等)。 当命令名为mkfs.xfs、mkfs.ext4等时,不需要该选项。

    -c——建立文件系统前先检查坏块。

    -V——输出建立文件系统的详细信息。

    如果已有其他文件系统创建在此分区,必须在 mkfs.xfs 命令中加上选项 -f 强行进行格式化

    1. [root@localhost ~]# mkfs.xfs /dev/sda1
    2. [root@localhost ~]# mkfs.ext4 /dev/sda2
    3. [root@localhost ~]# blkid # 查看格式化后的磁盘分区信息

    五、挂载

            ——将一个分区或者设备挂载至挂载点目录。

    1、格式:

    mount [-t 文件系统类型] 设备名 挂载点目录

    1. [root@localhost ~]# mkdir /Redhat_1v_one # 创建挂载点目录
    2. [root@localhost ~]# mount /dev/RedHat/RedHat_1v1 /Redhat_1v_one # 挂载
    3. # 查看挂载信息
    4. [root@localhost ~]# mount | grep /dev/mapper/RedHat-RedHat_1v1
    5. /dev/mapper/RedHat-RedHat_1v1 on /Redhat_1v_one type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)

    2、取消挂载

            umount 挂载点目录或存储设备名

    [root@localhost ~]# umount /dev/sda1

    3、自动挂载

    手动挂载的分区会在系统重启后失效,若用户需要永久挂载分区,则需要通过编辑 /etc/fstab 文件来实现。当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的 文件系统挂载到指定的目录

    [root@localhost ~]# vim /etc/fstab

    字段解释:

    六、查看磁盘空间使用量

    1、df

            ——列出文件系统的磁盘空间占用情况

            格式:df [-ahikHTm] [目录或文件名]

            选项:

                    -a:列出所有的文件系统,包括系统特有的/proc等文件系统

                    -k:以KB的容量显示各文件系统

                    -m:以MB的容量显示各文件系统

                    -h:以人们较易阅读的GB,MB,KB等格式自行显示

                    -H:以M=1000K替代M=1024K的进位方式

                    -T:连同该分区的文件系统名称(例如ext3)也列出

                    -i:不用硬盘容量,而以inode的数量来显示

    df .         查看当前文件夹的占用

    2、du

            ——显示磁盘空间使用量(统计目录或文件所占磁盘空间大小),在默认情况下,文件大小的单位是KB。

            格式:du [-ahskm] 文件或目录名称

            选项:

                    -a : 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量而已;

                    -h : 以人们较易读的容量格式(G/M)显示;

                    -s : 列出总量,而不列出每个个别的目录占用了容量;

                    -S : 不包括子目录下的总计,与-s有点差别;

                    -k : 以KB列出容量显示;

                    -m : 以MB列出容量显示。

     七、实操(分区+格式化+挂载) 

    1、思路:

    • 创建分区 nvme1,nvme2(两个分区)
    • 通过该分区创建物理卷pv(pvcreate)
    • 通过pv 创建卷组vg(vgcreate 卷组名 pv1,pv2...)
    • 通过vg 产生逻辑卷lv(lvcreate -n 逻辑卷名 -L + 容量(K,M,G))
    • mkfs.xfx ext4 vfat 将lv格式化
    • 然后将lv 挂载到某个文件夹下

    逻辑卷的相关知识:Linux 逻辑卷-CSDN博客

    2、实践:

    1. # 使用fdisk进行分区
    2. Command (m for help): n
    3. Partition type
    4. p primary (0 primary, 0 extended, 4 free)
    5. e extended (container for logical partitions)
    6. Select (default p): p # 主分区
    7. Partition number (1-4, default 1): # 默认
    8. First sector (2048-41943039, default 2048): # 默认
    9. Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039): +5G
    10. # 分配5G的内存
    11. Created a new partition 1 of type 'Linux' and of size 5 GiB.
    12. Command (m for help): p # 显示磁盘分区信息
    13. Disk /dev/nvme0n2: 20 GiB, 21474836480 bytes, 41943040 sectors
    14. Disk model: VMware Virtual NVMe Disk
    15. Units: sectors of 1 * 512 = 512 bytes
    16. Sector size (logical/physical): 512 bytes / 512 bytes
    17. I/O size (minimum/optimal): 512 bytes / 512 bytes
    18. Disklabel type: dos
    19. Disk identifier: 0x80389886
    20. Device Boot Start End Sectors Size Id Type
    21. /dev/nvme0n2p1 2048 10487807 10485760 5G 83 Linux
    22. Command (m for help): n # 再进行一次分区
    23. Partition type
    24. p primary (1 primary, 0 extended, 3 free)
    25. e extended (container for logical partitions)
    26. Select (default p): p
    27. Partition number (2-4, default 2):
    28. First sector (10487808-41943039, default 10487808):
    29. Last sector, +/-sectors or +/-size{K,M,G,T,P} (10487808-41943039, default 41943039): +1G
    30. Created a new partition 2 of type 'Linux' and of size 1 GiB.

    查看磁盘信息 

    对nvme0n2进行分区 

     

    1. [root@localhost ~]# pvcreate /dev/nvme0n2p1 # 创建物理卷
    2. [root@localhost ~]# pvscan # 查看系统中的物理卷信息
    3. [root@localhost ~]# pvcreate /dev/nvme0n2p2
    4. # 卷组创建,RedHat是自定义的卷组名称,由/dev/nvme0n2p1 和 /dev/nvme0n2p{1,2} 构成
    5. [root@localhost ~]# vgcreate RedHat /dev/nvme0n2p{1,2}
    6. [root@localhost ~]# vgscan # 查看系统中的卷组信息
    7. [root@localhost ~]# vgdisplay RedHat # 指定卷组详情
    8. # 从卷组RedHat中创建逻辑卷,-n 后接名称, -L 后接指定大小
    9. [root@localhost ~]# lvcreate -n RedHat_1v1 -L +1.5G RedHat
    10. [root@localhost ~]# lvscan
    11. # 格式化
    12. [root@localhost ~]# mkfs.xfs /dev/RedHat/RedHat_1v1
    13. [root@localhost ~]# mkdir /Redhat_1v_one
    14. # 挂载
    15. [root@localhost ~]# mount /dev/RedHat/RedHat_1v1 /Redhat_1v_one
    16. [root@localhost ~]# cd /Redhat_1v_one/
    17. [root@localhost Redhat_1v_one]# df .
    18. Filesystem 1K-blocks Used Available Use% Mounted on
    19. /dev/mapper/RedHat-RedHat_1v1 1562624 43940 1518684 3% /Redhat_1v_one
    20. [root@localhost Redhat_1v_one]# df . -h
    21. Filesystem Size Used Avail Use% Mounted on
    22. /dev/mapper/RedHat-RedHat_1v1 1.5G 43M 1.5G 3% /Redhat_1v_one

  • 相关阅读:
    java计算机毕业设计springboot+vue协同过滤算法及在个性化音乐推荐系统
    Qt学习11 Qt 中的字符串类
    LeetCode 4. 寻找两个正序数组的中位数
    1、Flutter使用总结(RichText、Container)
    JavaScript如何拦截全局Fetch的请求和响应
    三维度:专业、展现与连接
    作为一个Java程序员,JVM的这些知识你懂了吗?
    ios 对话框UIAlertController放 tableview
    【老生谈算法】matlab特定人语音识别算法——语音识别算法
    MaxKey 单点登录认证系统 v3.5.5GA 发布
  • 原文地址:https://blog.csdn.net/weixin_68256171/article/details/133608539