前言
最近甲骨文云 Oracle Cloud 良心的推出了永久免费的 ARM 实例,竟然给出了最多 4 核 24G 内存 4G 带宽的配置.羊毛党怎么会轻易错过.在折腾了一天后,整理和总结了一些大家常用会需要了解的信息和解决方案.
当前更新于:2021年05月27日
本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.
本文教程基于 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
注意 ARM 版的 docker 只能运行支持 ARM 的镜像.例如常见的 nginx , redis 等都是支持的.
docker compose
内容略长,单独发布了文章,请访问:
ARM 架构 Linux 使用 docker compose 教程
BBR
目前还没有支持甲骨文ARM
实例BBRPlus
的脚本,不过Oracle Linux
本身的内核是支持BBR
的,使用老的脚本选择4
开启即可.
此脚本博主仅只测试过选择 4 开启 BBR 功能,其他选项并未测试,请慎重选择以免导致实例失联或无法开机等情况.
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
源.AA