Scaleway修改默认磁盘大小
背景
Swaleway创建STARDUST1-S型机器时,最低只能选择10G硬盘,对于部分使用场景而言,10G的硬盘空间太大,造成了不少的浪费。
解决方案
实例启动后,按照以下步骤操作
一、新增磁盘并从救援模式进入系统
- 从控制台关机(注意,不能从ssh关机,ssh关机在后,无法在控制台移除磁盘);
- 关机后在volumes页面新增vps所在区域的磁盘,磁盘的类型选择Local storage;
- 创建好磁盘后,添加到对应的实例上;
- 进入相应的实例,Attached volumes部分,将默认的10G硬盘删除;
- 进入Advanced settings,选择Boot mode为Use rescue image,保存;
- 从控制台开机,可以在网页上的Console查看开机进度,此次开机耗时可能比较久,大概需要5分钟甚至更多;
- 开机成功后,可以使用ssh连接上服务器,还是使用原先的账户和密钥登录即可;
二、安装Alpine操作系统
根据参考链接[1],注意,
1) 最新的Alpine版本可以从官网下载,选择VIRTUAL版本即可
2) 安装系统的磁盘需要修改,例如在Scaleway中,磁盘的路径为/dev/vda在setup-alpine过程中,默认会调用setup-disk,但是默认会创建三个分区,分别是boot分区,swap分区以及系统分区。对于小硬盘来说,如果使用默认配置,boot分区和swap分区会占用掉太多空间,最终系统分区的大小只会有700多M,为了最大限度使用磁盘空间,需要手动执行setup-disk。setup-alpine执行到选择磁盘安装位置时,先不选择磁盘,配置存放位置选择默认即可;
1) 根据参考链接[2],可以通过设置环境变量BOOT_SIZE来指定boot分区的大小
2) 查看setup-disk –help可知,根据传入-s参数的值可以设置swap分区的大小执行
export BOOT_SIZE=40; setup-disk -s 0
,进行安装系统操作1) 如果出现错误
1
2
3
4
5ERROR: unable to select packages:
dosfstools (no such package):
required by: world[dosfstools]
grub-efi (no such package):
required by: world[grub-efi]说明对应的安装包无法成功安装,可以使用命令
echo 'nameserver 2a01:4f8:c2c:123f::1' >> /etc/resolv.conf
修改dns为dns64,之后运行apk update
,再重新执行即可。如果/dev/vda已被挂载,需要先umount对应的分区。安装完成后,可以挂在系统分区,将ssh公钥写入到authorized_keys文件(注意.ssh目录的权限以及authorized_keys文件的权限,.ssh目录文件权限为700,authorized_keys的权限为600),重启后即可使用原先的私钥登录
从控制台关机机器,之后进入Scaleway实例控制台,选择Advanced settings页,修改Boot mode为Use Local Boot,保存,之后启动机器。如无意外的话,可以成功进入Alpine系统,也可以通过ssh连接。
三、Alpine其他使用方式记录
- 添加社区repositories,取消
/etc/apk/repositories
中community的注释即可(安装docker需要社区repositories) - 使用命令
rc-update add docker default
可以添加docker自启动,rc-status
可以查看自启动状态 - 使用命令
modprobe tun
可以启动tun功能,使用echo 'tun' >> /etc/modules
添加到开机自启动 - 服务自启动,需要手动编写rc-service启动脚本