在 Linux中有一件很美妙的事情,就是你可以在一个运行的系统中恢复系统,而不需要用boot-cd来专门引导。当然,如果你的系统已经挂掉不能启动了, 你可以用Live CD来启动,效果是一样的。你还可以用一个命令把Linux系统中的所有文件干掉,当然在这里我不打算给出这个命令!
使用下面的命令来恢复系统:
# tar xvpfz backup.tgz -C /
如果你的档案文件是使用Bzip2压缩的,应该用:
# tar xvpfj backup.tar.bz2 -C /
注意:上面的命令会用档案文件中的文件覆盖分区上的所有文件。
执行恢复命令之前请再确认一下你所键入的命令是不是你想要的,执行恢复命令可能需要一段不短的时间。
恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:
# mkdir proc
# mkdir lost+found
# mkdir mnt
# mkdir sys
等等
当你重启电脑,你会发现一切东西恢复到你创建备份时的样子了!
2. 本文分析内容安排1.关闭firewalld和selinux
2.ssh免密码登录
3.时间同步
4.安装overlay模块
5.安装docker
6.安装dcos
所有机器上执行systemctl stop firewalld && systemctl disable firewalld
执行firewall-cmd --state查看firewalld是否成功关闭,应该显示not running
所有机器执行setenforce 0,sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config,重启后输入sestatus查看selinux状态,此时应该显示disabled
4. ssh免密码登录在boot节点上执行ssh-keygen -t rsa生成密钥
执行ssh-copy-id -i 10.107.x.x分别将私钥复制到其他要免密钥登陆的机器
执行命令
tee /etc/modules-load.d/overlay.conf <<-'EOF' overlay EOF并重启将overlay模块加载如系统中,并执行lsmod | grep overlay查看是否加载成功,成功应该显示overlay 42451 0
7. 安装docker首先,通过rpm或者yum install的方式安装docker,在没网的情况下需要先下载docker安装相关的rpm包;之后,设置docker的存储为overlay,具体应该执行如下脚本:
mkdir -p /etc/systemd/system/docker.service.d && tee /etc/systemd/system/docker.service.d/override.conf <<- EOF [Service] ExecStart= ExecStart=/usr/bin/docker daemon --storage-driver=overlay EOF改变配置后需要执行systemctl daemon-reload命令使配置生效;
这时便可以启动docker了,如下:
最后,运行docker info命令查看是否正常安装docker,并且存储用的是overlay,正确情况时显示如下图
在boot节点上下载dcos的installer:dcos_generate_config.sh(大约726MB),同时在与dcos_generate_config.sh文件同级目录下新建genconf目录,我是在/home/dcos目录下建的
mkdir -p genconf
cd genconf
在genconf中新建一个ip-detect文件,用于探测集群中节点的ip,我使用的文件内容为
#!/bin/bash echo $(ip addr s | grep inet | grep 10.107 | awk -F' ' '{print $2}'| awk -F'/' '{print $1}')这里不能写错,因为该文件内容最终会被拷贝到master和agent节点的/opt/mesosphere/bin/detect_ip中,在第9步启动dcos服务时用来探测ip。如果,写错将不能正常启动集群,报如下错误
time="2017-01-13T00:57:22+08:00" level=info msg="/opt/mesosphere/etc/endpoints_config.json not found" time="2017-01-13T00:57:22+08:00" level=error msg="Could not detect IP: fork/exec /opt/mesosphere/bin/detect_ip: exec format error" time="2017-01-13T00:57:22+08:00" level=error msg="Could not get mesos node id: Get :5051/state: dial tcp :5051: getsockopt: connection refused" time="2017-01-13T00:57:22+08:00" level=fatal msg="Found unhealthy systemd units"