1. 创建一个磁盘文件
    有三种方式: dd, truncate, fallocate
    # 创建一个大小为1GB的名为vhd.img的文件
    dd if=/dev/zero of=vhd.img bs=1M count=1024

    缺点:需要消耗真正写入1GB大小的时间和写入量。

    truncate -s 1g vhd.img

    优点:不会真正写磁盘,速度很快
    缺点:磁盘配额没有消耗,可以分配超过磁盘总大小的文件,在写入过程中如果物理空间不足会引起错误.

    fallocate -l 1g vhd.img

    优点:不会真正写磁盘,速度很快。会分配磁盘配额,且物理空间上会尽量安排连续空间,提升后续写入性能。

  2. 在虚拟磁盘文件上创建文件系统

    mkfs.ext4 vhd.img

    推荐的文件系统有:Ext4,XFS,BrtFS

  3. 挂载这个虚拟磁盘文件到某个挂载点

    sudo mount -o loop vhd.img /mnt/vhd
    
    # 如果需要写入, 需要修改挂载点的权限
    sudo chown -R user:user /mnt/vhd
  4.  通过bind mount挂载到容器
    podman run -v /mnt/vhd:/data docker.io/ubuntu:latest

     

 

Logo

更多推荐