99

甲骨文云 Oracle Cloud 免费 ARM 实例关于引导卷扩容 yum docker 等相关解决方案

 3 years ago
source link: https://www.ioiox.com/archives/134.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

最近甲骨文云 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拆分为41C6G会使引导卷超出免费额度,可能会导致出现额外费用.

所以个人建议:根据需求自行创建,博主是在拥有原始21C1G的免费实例前提下,在创建了14C24G,并将引导卷增加到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帐号.

在安装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 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 教程

目前还没有支持甲骨文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源.


本站提供免费和付费的技术支持.你可以通过留言,邮件,TG群的方式来技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面

如果喜欢我的文章,觉得对你有帮助,请随意赞赏!

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK