- 创建一个磁盘文件
有三种方式: 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优点:不会真正写磁盘,速度很快。会分配磁盘配额,且物理空间上会尽量安排连续空间,提升后续写入性能。
-
在虚拟磁盘文件上创建文件系统
mkfs.ext4 vhd.img推荐的文件系统有:Ext4,XFS,BrtFS
-
挂载这个虚拟磁盘文件到某个挂载点
sudo mount -o loop vhd.img /mnt/vhd # 如果需要写入, 需要修改挂载点的权限 sudo chown -R user:user /mnt/vhd - 通过bind mount挂载到容器
podman run -v /mnt/vhd:/data docker.io/ubuntu:latest
本文介绍了三种创建磁盘文件的方法:dd, truncate和fallocate。dd方法虽然会实际写入数据,但能确保空间被占用;truncate速度快,但可能超出磁盘配额导致错误;fallocate既快又能预先分配磁盘配额,提升后续写入性能。之后,文章讲解了如何在虚拟磁盘文件上创建文件系统(如ext4),以及如何挂载和使用这些文件系统。
1908

被折叠的 条评论
为什么被折叠?



