• Linux虚拟机新增磁盘分区格式化和挂载


    Virtualbox虚拟机增加额外磁盘

    Author:onceday date:2022年8月8日

    一套简单解决Linux虚拟机磁盘不够的方案。

    安装虚拟机和Ubuntu

    以下参阅其他文档:

    1. 使用virtualbox安装ubuntu,并更换镜像源,安装vscode-server,ssh等组件。

      虚拟机VirtualBox及离线安装vscode-server_Onceday_CSDN博客

    如果虚拟机磁盘不够,可以额外增加磁盘,例如VirtualBox在设置->存储里,新增虚拟磁盘,这里需要注意,如果启动失败,需要在控制器:SATA下面调整磁盘顺序,即第一个启动盘应该是装有boot和UEFI以及系统源码的虚拟磁盘。

    使用以下步骤来初始化一个新的磁盘,可参阅:Linux之磁盘与文件系统_Onceday_CSDN博客

    1. 使用lsblk查看系统所有磁盘信息

      onceday@onceday:~$ lsblk
      NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
      
      ········ #省略
      sda      8:0    0    50G  0 disk 
      ├─sda1   8:1    0     1M  0 part 
      ├─sda2   8:2    0   513M  0 part /boot/efi
      └─sda3   8:3    0  49.5G  0 part /
      sdb      8:16   0   200G  0 disk
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9

      可以看到sdb即是目标磁盘,其类型为disk,而sda就是已分区的磁盘。

      现代Linux系统,一般系统盘前两个都用来做boot和UEFI代码存放,因此实际数据盘都是从sda3开始了。

    2. 使用gdisk命令格式化为GPT分区

      目前MBR分区比较受限,支持大硬盘和多分区的GPT格式更好。

      onceday@onceday:~$ sudo gdisk /dev/sdb
      
      Command (? for help): n
      Partition number (1-128, default 1): 
      First sector (34-419430366, default = 2048) or {+-}size{KMGTP}: 
      Last sector (2048-419430366, default = 419430366) or {+-}size{KMGTP}: +100G
      Current type is 8300 (Linux filesystem)
      Hex code or GUID (L to show codes, Enter = 8300): 
      Changed type of partition to 'Linux filesystem'
      
      Command (? for help): p
      
      Disk /dev/sdb: 419430400 sectors, 200.0 GiB
      Model: VBOX HARDDISK   
      Sector size (logical/physical): 512/512 bytes
      Disk identifier (GUID): B106DC9E-4290-4759-A7EB-4965A7976F90
      Partition table holds up to 128 entries
      Main partition table begins at sector 2 and ends at sector 33
      First usable sector is 34, last usable sector is 419430366
      Partitions will be aligned on 2048-sector boundaries
      Total free space is 209715133 sectors (100.0 GiB)
      
      Number  Start (sector)    End (sector)  Size       Code  Name
      
         1            2048       209717247   100.0 GiB   8300  Linux filesystem
      Command (? for help): w  #写入分区表,有这个才会生效
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26

      很简单就可创建一个100G的磁盘分区,其他空间暂时留存。

      然后使用partprobe -s更新一下分区信息。

    3. 使用mkfs.xfs创建xfs文件系统

      有很多可用的文件系统可供选择,如ext4,目前xfs比较适合。

      onceday@onceday:~$ sudo mkfs.xfs /dev/sdb1
      
      meta-data=/dev/sdb1              isize=512    agcount=4, agsize=6553600 blks
               =                       sectsz=512   attr=2, projid32bit=1
               =                       crc=1        finobt=1, sparse=1, rmapbt=0
               =                       reflink=1    bigtime=0 inobtcount=0
      data     =                       bsize=4096   blocks=26214400, imaxpct=25
               =                       sunit=0      swidth=0 blks
      naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
      log      =internal log           bsize=4096   blocks=12800, version=2
               =                       sectsz=512   sunit=0 blks, lazy-count=1
      realtime =extsz=4096   blocks=0, rtextents=0
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
    4. 使用xfs_repair检查刚刚创建的这个文件系统

      onceday@onceday:~$ sudo xfs_repair -n /dev/sdb1
      
      • 1
    5. 挂载mount该文件系统到Linux目录树中

      一般选择/home/usr/opt等目录下挂载,这里选择/home,把所有源码当成一个用户来看待。

      onceday@onceday:~$ sudo mkdir -m=777 /home/rgos
      
      • 1

      默认权限全部放开,然后挂载新的文件系统在这个目录点:

      onceday@onceday:~$ sudo mount /dev/sdb1 /home/rgos
      
      • 1

      然后在启动配置/etc/fstab里增加内容:

      # /home/rgos was on /dev/sdb1 100G
      UUID=fcf4a189-d228-4b4d-93e3-d385eb76a77a /home/rgos xfs defaults 0 0
      
      • 1
      • 2

      UUID可使用blkid或者xfs_admin -lu xx来获取。

    经过以上步骤就完成了新磁盘分区的格式化和挂载了。

  • 相关阅读:
    《3D 数学基础》几何检测-最近点
    淘宝/天猫按图搜索淘宝商品(拍立淘) API 返回值说明
    clickhouse学习笔记05
    vue3+vite如何兼容低版本的白屏问题(安卓7/ios11)
    threejs材质的贴图(四)
    线性查找(思路分析和代码实现) [数据结构][Java]
    【React源码】(十八)React 算法之调和算法
    消息中间件-kafka实战-第一章-介绍
    python 办公自动化(Excel)
    Kubernetes:(十一)KubeSphere的介绍和安装(华丽的篇章)
  • 原文地址:https://blog.csdn.net/Once_day/article/details/126251459