前言
最近甲骨文云 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
EOFdocker
在配置完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 dockerdocker 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 条评论
按此方法安装docker后,docker容器绕过了firewalld规则,可直接被外部访问,如何解决
能出一期,备份引导卷还原系统的么。这机器太难开了删了重新开出来几率<99.9999%
博主你好,arm版bbr加速,脚本开启4后,lsmod | grep bbr 没有返回,似乎也没有加速成功
博主你好,arm版bbr加速,脚本开启4后,lsmod | grep bbr 没有返回,似乎也没有加速成功
博主你好,arm版bbr加速,脚本开启4后,lsmod | grep bbr 没有返回,似乎也没有加速成功