我找到了关于如何创建虚拟硬盘的非常不错的教程,并且我正在考虑将其用于我的工作,以便可靠,可移植地存储具有相关处理结果的大型数据集。
基本上,本教程包括执行以下操作:
dd if=/dev/zero of=MyDrive.vhd bs=1M count=500
mkfs -t ext3 MyDrive.vhd
mount -t auto -o loop MyDrive.vhd /some/user/folder
它会创建一个以ext3格式格式化的500MB虚拟硬盘,并将其安装在某处。
现在说我使用该文件并意识到我需要500MB以上的空间,是否可以“动态”调整虚拟磁盘的大小?(通过动态方式,我的意思是除了创建一个更大的新磁盘并复制数据之外。)
有比dd
扩展文件更好的选择。该dd
命令需要几个参数才能正常运行(不破坏数据)。我truncate
改用。尽管它的名字,它也可以扩展文件的大小:
截断-将文件的大小缩小或扩展到指定的大小
-s,--size = SIZE
通过SIZE设置或调整文件大小
SIZE是整数和可选单位(例如:10M是10 * 1024 * 1024)。>单位为K,M,G,T,P,E,Z,Y(1024的幂)或KB,MB,...(1000的幂)。
SIZE也可以由以下修饰字符之一作为前缀:“ +”扩展,“-”减少,“ <<”,至少“>”,至少“ /”向下舍入为“%”舍入的倍数高达倍数。
因此,
truncate -s +1G MyDrive.vhd
安全地将文件扩展1 GB。而且,是的,当底层文件系统支持时,它确实会进行稀疏扩展,因此可以根据需要分配实际的块。
扩展文件后,请不要忘记运行resize2fs:
resize2fs MyDrive.vhd
同样,umount
对于支持在线调整大小的文件系统,整个操作可以在线完成(无需设备):
losetup -c loopdev
更新备份文件上的内核信息,
和
resize2fs loopdev
在线调整已挂载文件系统的大小
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句