博文

目前显示的是标签为“dd”的博文

GCP大硬盘的实例 变成 小硬盘的实例

图片
GCP的硬盘快照是压缩保存的,但是在恢复的时候,只能恢复到比快照时硬盘更大的硬盘上。这样,本来硬盘只使用了1GB,但是因为所在的硬盘是30GB的,恢复成实例的时候也只能选30GB以上的硬盘大小。而GCP不管是实例还是快照都是按大小收钱的,所以就有了把大硬盘的实例变成小硬盘的实例,再做成快照的需求。 思路: 把大磁盘(以30GB为例)留下来 加到某个实例上 用gparted把磁盘缩小(以10GB为例)      * 后续描述都以30GB,10GB指代,请理解。 dd到一个新的10GB硬盘上 具体操作过程: 1. 设置删除实例时不删除磁盘 打开30GB磁盘的实例,点击 “修改”,去掉勾选“在删除实例时删除启动磁盘”,“保存” 2. 将30GB实例删除 提示删除磁盘的就不要勾选了 3. 创建一个新实例 创建实例时注意和30GB磁盘在同一个区域。 4. 启动实例 * 一定要先启动实例再加挂30GB硬盘,不然实例可能会从30GB硬盘启动,就不能做缩小分区的操作了。 5. 加挂已经存在的30GB硬盘,再新增一个10GB硬盘 修改实例 加挂30GB硬盘 新增10GB硬盘 6. 为了在图形界面下操作,安装Xfce、VNC、gparted apt-get install xfce4 apt-get install tightvncserver apt-get install gparted * 如果在命令行操作,只需要装parted * vnc的细节操作略,可参考  https://zelikk.blogspot.com/2019/01/gcp-vps-xfce-vnc.html 7. 将30GB硬盘resize到10GB 在vnc窗口中终端运行gparted 其实各种分区工具的界面大同小异。 切换到30GB硬盘。 右键,"resize" 调整大小为10238MB(注意空间的前面还有2MB,无法改成0,所以空间大小就成了10238MB。这也是为什么不推荐使用命令行的原因,注意不到这些细节。) 确定之后,再Apply 8. 把调整后的10GB数据DD到新的10GB硬盘上 dd in=/dev/ sdb of=/dev/ sdc

GCP快照体积特别大

图片
今天遇到个莫名其妙的问题,GCP做出来的快照特别大。 实际使用不到2GB的VPS,做出来快照有26GB。 解决方案:创建一个全为0的超大文件,用于填满剩余空间,再删除。 参考  https://blog.csdn.net/cywosp/article/details/9674757 在命令行执行: dd if=/dev/zero of=test bs= 100M count= 200 rm -f test 黄色部分 * 绿色部分 就是生成文件的总大小,根据实际情况来计算,要把剩余空间填满。但是 黄色部分 不能超过你目前的可用内存,否则命令执行不了。 再创建快照,占用空间就比较合理了。 ========= 后记 ========= 推测GCP的快照是根据硬盘物理bit来做的,而删除文件的时候只是在文件系统里做了标识,硬盘上物理的bit并没有清零。 对比Bandwagon的快照,应该是在文件系统层面做的,删除了的文件没有算到快照里去。

The Hotest in Last 30 Days

无服务器 自建短链服务 Url-Shorten-Worker 完整的部署教程

ClouDNS .asia免费域名 托管到CloudFlare开CDN白嫖Websocket WS通道翻墙 / desec.io