deploy install时,远端节点在执行apt

  OS:Ubuntu 16.04

背景

  使用ceph-deploy部署Ceph集群,调用ceph-deploy install命令在远端节点安装ceph环境,执行apt-get update命令时失败。

Err:1 http://mirrors.163.com/ubuntu xenial InRelease Temporary failure resolving 'mirrors.163.com' 分析

  ceph-deploy的原理,就是ssh免密码登录到远端节点,然后执行各种命令。和刚才的apt-get命令结合起来,实际执行的是类似“ssh remote_node apt-get update”的命令。于是再回到执行ceph-deploy的admin节点,执行ssh remote_node apt-get update,果然失败。
  直接连接到出问题的节点,执行apt-get update命令,没有任何问题。这样看来,应该是一些环境变量的问题了。我的环境中是有网络代理的,连接外网必须配置http_proxy和https_proxy这两个环境变量。我将这两个环境变量设置在/etc/profile配置文件中,然而,ssh使用bash是作为一个non-login shell的,因此不会加载这个文件。我们可以执行下面的命令,就会发现apt-get可以成功。至于什么是non-login shell,可以参考login shell

$ ssh remote_node "bash --login -c 'apt-get update'" Hit:1 http://mirrors.163.com/ubuntu xenial InRelease Hit:2 http://mirrors.163.com/ubuntu xenial-security InRelease Hit:3 http://mirrors.163.com/ubuntu xenial-updates InRelease Hit:4 http://mirrors.163.com/ubuntu xenial-proposed InRelease Hit:5 http://mirrors.163.com/ubuntu xenial-backports InRelease Reading package lists... Building dependency tree... Reading state information... 162 packages can be upgraded. Run 'apt list --upgradable' to see them. 解决方法

  将http_proxy和https_proxy的配置放到/etc/environment,或者~/.ssh/environment中。再次执行ceph-deploy install,成功。

更多Ceph相关教程见以下内容

CentOS 7.1 上安装分布式存储系统 Ceph 

Ceph环境配置文档 PDF  

CentOS7下部署Ceph集群(版本10.2.2)

Ceph的安装过程  

如何升级Ceph版本及注意事项 

HOWTO Install Ceph On FC12, FC上安装Ceph分布式文件系统  

实验环境Ceph 9.2.1部署笔记

Ubuntu 16.04快速安装Ceph集群 

Ceph 的详细介绍请点这里
Ceph 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8f0634827bd9a42447fa5330be0331b1.html