前言
最近甲骨文云 Oracle Cloud 良心的推出了永久免费的 ARM 实例,竟然给出了最多 4 核 24G 内存 4G 带宽的配置.羊毛党怎么会轻易错过.在折腾了一天后,整理和总结了一些大家常用会需要了解的信息和解决方案.
当前更新于:2021年05月27日
本文教程基于 Oracle Linux 系统
永久免费
原本永久免费
的2
台 1核 1G 的实例依旧保持免费不变,在此基础上新增了ARM
实例配额.根据说明免费的ARM
配置最高可以达到 4核 24G ,可以新建1
台 4C24G 的服务器,也可以拆分为2
台 2C12G 的.
值得注意的是:一个帐号的存储免费额度只有200G
,而每台实例的系统盘也就是引导卷,最少需占用46G
,如果已经拥有了2台
老的免费1C1G
服务器,就已经占用了约100G
额度.所以想将4C24G
拆分为4
台1C6G
会使引导卷超出免费额度,可能会导致出现额外费用
.
所以个人建议:根据需求自行创建,博主是在拥有原始2
台1C1G
的免费实例前提下,在创建了1
台4C24G
,并将引导卷增加到100G
,完美覆盖免费额度.同时引导卷的IO
能力是根据卷大小而定,相比默认的46G
还是有一定提升.
查看块存储所有引导卷是否显示Always Free
引导卷扩容
如果在创建实例时,设置了更大的引导卷,同时操作系统选择的Oracle Linux
,在开机后,登陆服务器查询磁盘sda
的容量确实提高了,但是/
根目录的分区遵循Oracle Linux
镜像的尺寸,只有38G
.需要手动扩容系统盘.
查看sda
磁盘容量
fdisk -l
# 查看分区详情
执行扩容命令
LANG=en_US.UTF-8
sudo /usr/libexec/oci-growfs
在次检查磁盘和分区详情
lsblk
开启 root 登陆
Oracle 的实例默认都是使用opc
登陆,在执行sudo -i
提权.对于个人用户可能有点麻烦,可以设置sshd_config
来开启,同时也可以开启密码登陆.
配置 root 账户的证书登陆的公钥
sudo -i
# 提权
vi /root/.ssh/authorized_keys
将ssh-rsa
之前的no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"opc\" rather than the user \"root\".';echo;sleep 10"
删除.
配置 sshd
编辑sshd_config
文件
vi /etc/ssh/sshd_config
找到#PermitRootLogin yes
,删除#
符号.
找到#PasswordAuthentication yes
删除#
符号.
保存后执行命令生效:
systemctl restart sshd
创建密码
passwd
此时可以同时使用证书
或密码
直接登陆root
帐号.
yum
在安装docker
时,会提示依赖版本不够的错误导致无法继续安装.这是因为Oracle Linux
的 yum 源的问题.
ARM
版的 yum 源坑也不小,详细不多解释了,执行以下命令添加centos-extras
源:
cat >/etc/yum.repos.d/centos-extras.repo << 'EOF'
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=extras&infra=$infra
gpgcheck=0
EOF
docker
在配置完yum
后即可参考 官方文档 安装docker
了,依次执行以下三条命令:
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
启动并设置开机自动启动
sudo systemctl start docker
sudo systemctl enable docker
docker compose
内容略长,单独发布了文章,请访问:
ARM 架构 Linux 使用 docker compose 教程
BBR
目前还没有支持甲骨文ARM
实例BBRPlus
的脚本,不过Oracle Linux
本身的内核是支持BBR
的,使用老的脚本选择4
开启即可.
wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
关于创建实例就被终止和 IP 问题
默认每账户只能有两个保留 IP
,很多人以前可能被墙过
IP ,所以曾经更换过,就把保留 IP
换成了临时 IP
,所以现在就可以继续创建.由于创建新实例默认是分配保留 IP
,所以创建好系统发现超出了限制所以强行终止.可以在创建时选择不要公网 IP
,创建完毕后在实例的Attached VNICs
里的IPv4 Addresses
中在分配临时 IP
即可.
结语
博主也是首次接触ARM
版本的 Linux ,后期会视情况更新一些使用心得,欢迎收藏本站或订阅RSS
源.
22 条评论
系统还可以选ubuntu20 但是博主确定真的是始终免费吗?
我的输入命令后出现这个情况,不知道为啥!
博主,请问:我在2个1c1g免费实例前提下,也建了1个4C24G的arm实例,系统选oracle linux 8的,同时引导卷也扩容到100G了(前2个实例合计不到100G)。现在全部设置好了,发现不能预留ip了,只能是临时的,而且实例表中没有表示“始终免费”(前2个实例是有表示的),这是不是要收费呢?惊惊~
只能2个预留IP,被你之前的占用了,没办法.
收不收费这个现在众说纷纭..不好说.
大佬,请问创建实例时引导卷是默认的 50G,之后还有办法扩容到 100G 吗?
可以,官方有文档,大致就是关机,分离引导卷,修改引导卷容量,在挂载到机器,在开机进去执行oci-growfs.
谢谢大佬,我试了下直接在引导卷详情里点编辑就可以扩容,完了再用您文中的命令就可以了。另外还顺手把性能由均衡改为了性能较高,好像也没什么影响
这个性能我建议你搜索下文档看是否是收费的...
价格只搜到这个:https://www.oracle.com/cloud/storage/pricing.html,照这个那均衡也该收费才对,不过引导卷始终免费的标倒是还在,尴尬。。。
买过200G的 BlockVolume,他们家还好不算贵...你可以试试看出不出账单..