我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Ubuntu CEPH快速安装

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Ubuntu CEPH快速安装

不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Ceph 节点、网络和 Ceph 存储集群。 Ceph 存储集群至少需要一个 Ceph Monitor 和两个 OSD 守护进程。而运行 Ceph 文件系统客户端时,则必须要有元数据服务器( Metadata Server )。

1341090-20181105142126030-545974646.png

  • Ceph OSDsCeph OSD 守护进程( Ceph OSD )的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD 守护进程的心跳来向 Ceph Monitors 提供一些监控信息。当 Ceph 存储集群设定为有2个副本时,至少需要2个 OSD 守护进程,集群才能达到 active+clean 状态( Ceph 默认有3个副本,但你可以调整副本数)。

  • MonitorsCeph Monitor维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。 Ceph 保存着发生在Monitors 、 OSD 和 PG上的每一次状态变更的历史信息(称为 epoch )。

  • MDSsCeph 元数据服务器( MDS )为 Ceph 文件系统存储元数据(也就是说,Ceph 块设备和 Ceph 对象存储不使用MDS )。元数据服务器使得 POSIX 文件系统的用户们,可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 lsfind 等基本命令。

 

Ceph 把客户端数据保存为存储池内的对象。通过使用 CRUSH 算法, Ceph 可以计算出哪个归置组(PG)应该持有指定的对象(Object),然后进一步计算出哪个 OSD 守护进程持有该归置组。 CRUSH 算法使得 Ceph 存储集群能够动态地伸缩、再均衡和修复。

Ceph消除了对系统单一中心节点的依赖,从而实现可真正的无中心节点结果的设计思想,这种设计思想是其他分布式存储系统所不能相比的。

Ceph之所以能那么火,与OpenStack有莫大的关系;OpenStack是目前比较流行的开源云管理平台;OpenStack与Ceph的集成已成为开源云平台的标配。

 

Ceph中文文档,请参考链接:

http://docs.ceph.org.cn/start/intro/


Ceph设计思想

  • 每个组件可线性扩展

  • 无任何单点故障

  • 解决方案必须是基于软件的、开源的、适应性强的

  • 运行在现有商业硬件之上,商业硬件一般是指x86服务器

  • 每个组件必须尽可能拥有自我管理和自我修复功能

     高可用性指的是系统某个组件失效后,系统依然可以提供正常的服务的功能。可以采用设备部件和数据冗余来提高可靠性。在Ceph集群中可通过数据多副本、纠删码这两种方式提供数据冗余。

   可线性扩展指的是可以灵活的应对集群伸缩。这里可以指两方面:

1、指集群的存储容量可以伸缩、可以任意添加、删除存储节点和存储设备;

2、指系统的性能随集群的扩充而线性增加。

 

Ceph应用场景

Ceph可以提供对象存储、块设备存储和文件系统存储,其对象存储可以对接网盘应用业务;其块设备可以对接IaaS云平台软件。IaaS云平台软件包括:OpenStack、CloudStack、Zstack等;其文件系统存储目前还未成熟,官方不建议在生产环境中使用。

 

Ceph发行版本

Ceph正处于持续开发、快速发展中。debian系列,发行了9个版本。分别是firefly,giant,hammer,infernalis,jewel,kraken,luminous,mimic,testing。

访问下载网站:

http://download.ceph.com/

就可以到对应的版本中,下载你需要的软件包。

本文所使用的是jewel版本,也称之为候选版本!

 

本文所用的环境和具体节点配置如下:

操作系统主机名IP地址功能
ubuntu-16.04.5-server-amd64jqb-node128192.168.91.128MDS,MON,OSDS
ubuntu-16.04.5-server-amd64jqb-node129192.168.91.129MON,OSDS
ubuntu-16.04.5-server-amd64jqb-node131192.168.91.131MON,OSDS








由于官方要求:至少需要一个 Ceph Monitor 和两个 OSD 守护进程。
所以使用了3台服务器来安装ceph集群。
注意mds只有一台


注意:3台Ubuntu系统,需要启动root账户登录。 

接下来的操作,都是以root用户执行的!

主机名

这个非常重要,决定ceph搭建成败就在这里,务必注意!!!

我踩了很多坑,说多了都是泪...!下面说具体操作!

登录3台服务器,查看主机名

cat /etc/hostname

如果输出不是上面表格中的主机名,请务必修改!

修改完成之后,必须要重启服务器才行!

 

由于这里并没有使用私有的DNS,所以直接用hosts文件来强制解析。

务必保证3台服务器的hosts文件有如下3条记录

192.168.91.128 jqb-node128
192.168.91.129 jqb-node129
192.168.91.131 jqb-node131


更新源

阿里云更新源

由于默认的更新源太慢了,调整为阿里云的更新源

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu xenial-security main restricted
deb http://mirrors.aliyun.com/ubuntu xenial-security universe
deb http://mirrors.aliyun.com/ubuntu xenial-security multiverse


ceph更新源

添加 release key

wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -


添加Ceph软件包源,用Ceph稳定版(如 cuttlefish 、 dumpling 、 emperor 、 firefly 等等)替换掉 {ceph-stable-release}

deb http://download.ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main


ceph-stable-release 我选择的是jewel版本

那么在ubuntu服务器上面执行命令

echo "deb http://download.ceph.com/debian-jewel/ $(lsb_release -sc) main"


就可以得到结果:

deb http://download.ceph.com/debian-jewel/ xenial main


将这条信息写入/etc/apt/sources.list中,那么文件sources.list完整内容如下:

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu xenial-security main restricted
deb http://mirrors.aliyun.com/ubuntu xenial-security universe
deb http://mirrors.aliyun.com/ubuntu xenial-security multiverse
deb http://download.ceph.com/debian-jewel/ xenial main


请保证3台服务器的/etc/apt/sources.list是一致的


更新系统更新源,3台服务器执行以下命令

apt-get clean
apt-get update


时间设置

务必保证3台服务器的时区是一样的,强制更改时区为上海,执行以下命令

ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
bash -c "echo 'Asia/Shanghai' > /etc/timezone"


安装ntpdate

apt-get install -y ntpdate


使用阿里云的时间服务器更新

ntpdate ntp1.aliyun.com


3台服务器都执行一下,确保时间一致!

 

安装软件

Ceph 通过radosgw提供RESTFul HTTP API接口支持对象存储能力,radosgw本质上是一个客户端程序,提供FastCGI 服务

apt-get install -y radosgw --allow-unauthenticated


配置apt允许以 HTTPS方式拉取镜像安装

apt-get install -y apt-transport-https --allow-unauthenticated


安装ceph相关包

apt-get install -y ceph-base ceph-common ceph-fs-common  ceph-fuse ceph-mds ceph-mon ceph-osd --allow-unauthenticated


以上,都是3台服务器,都需要执行的!


以下操作都是在jqb-node128进行的,登录到jqb-node128服务器

安装 ceph-deploy

apt-get install -y ceph-deploy --allow-unauthenticated


修改https为http

sed -i -e "28s/https/http/g" /usr/lib/python2.7/dist-packages/ceph_deploy/hosts/debian/install.py


ssh免密登录

生成秘钥,并写入到authorized_keys

ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys


节点之间的用户认证,是采用ssh方式的。务必要设置ssh免密登录!

执行以下3个命令

ssh-copy-id jqb-node128
ssh-copy-id jqb-node129
ssh-copy-id jqb-node131


它会在远程主机写入文件 ~/.ssh/authorized_keys


测试ssh免密登录

ssh jqb-node128;exit;
ssh jqb-node129;exit;
ssh jqb-node131;exit;


请确保以上3个命令,不需要输入密码

 

创建配置文件目录

cd /opt
mkdir -p cephinstall
cd cephinstall


安装ceph节点

先定义几个常量

MDS="jqb-node128"
MON="jqb-node128 jqb-node129 jqb-node131"
OSDS="jqb-node128 jqb-node129 jqb-node131"
INST="$OSDS $MON"

INST表示要安装的节点


用 ceph-deploy 命令通过定义监控节点 ,创建一个新集群。

ceph-deploy new $MON


执行之后,它会在当前目录生成文件ceph.conf

 

修改配置文件ceph.conf

echo "osd pool default size = 2
osd max object name len = 256
osd max object namespace len = 64
mon_pg_warn_max_per_osd = 2000
mon clock drift allowed = 30
mon clock drift warn backoff = 30
rbd cache writethrough until flush = false" >> ceph.conf


安装 Ceph 到所有节点

ceph-deploy install $INST


部署监控节点

ceph-deploy mon create-initial


仔细观察输出内容,请确保没有error错误!


增加 OSD 到集群

这里将/data/ceph/osd目录,用来存储数据

for i in $OSDS; do
        echo $i
        ssh $i 'mkdir -p /data/ceph/osd'
        ssh $i 'ln -snf /data/ceph/osd /var/lib/ceph/osd'
        ceph-deploy osd prepare $i:/data/ceph/osd
        # success indicator: Host xxx is now ready for osd use
done


激活 OSD

for i in $OSDS; do
        echo $i
        ssh $i 'chown -R ceph:ceph /var/lib/ceph/'
        ssh $i 'chown -R ceph:ceph /data/ceph/'
        ceph-deploy osd activate $i:/data/ceph/osd
        #fix problem "socket /com/ubuntu/upstart: Connection refused"
        ssh $i 'dpkg-divert --local --rename --add /sbin/initctl'
        ssh $i 'ln -snf /bin/true /sbin/initctl'
        ssh $i 'rm -f /etc/apt/sources.list.d/ceph.list'
        ssh $i 'modprobe ceph'
done


部署管理密钥到所有关联节点

ceph-deploy admin $MDS



查看节点信息

ssh $MDS "ceph osd tree"


查看验证秘钥

ssh $MDS "ceph auth get-key client.admin | base64"
ssh $MDS "mkdir -p /var/lib/ceph/mds/ceph-$MDS"
ssh $MDS "chown -R ceph:ceph /var/lib/ceph"


创建POOL

通常在创建pool之前,需要覆盖默认的pg_num,官方推荐:

  • 若少于5个OSD, 设置pg_num为128。

  • 5~10个OSD,设置pg_num为512。

  • 10~50个OSD,设置pg_num为4096。

  • 超过50个OSD,可以参考pgcalc计算。

ssh $MDS ceph osd pool create fs_db_data 512 ssh $MDS ceph osd pool create fs_db_metadata 512


查看pool

ceph osd lspools


创建Cephfs

ssh $MDS ceph fs new cephfs fs_db_metadata fs_db_data


查看Cephfs

ssh $MDS ceph fs ls


部署MDS

ceph-deploy --overwrite-conf mds create $MDS


挂载ceph

# 挂载需要的验证秘钥
MOUNTKEY=`ssh $MDS "ceph auth get-key client.admin"`
# 节点ip
MONIP=`ssh $MDS cat /etc/ceph/ceph.conf |grep mon_host|cut -d "=" -f2|sed 's?,?:6789,?g'`
# 挂载目录
mkdir /mycephfs

# 开始挂载
mount -t ceph $MONIP:6789:/ /mycephfs -o name=admin,secret=$MOUNTKEY


查看挂载情况

root@jqb-node128:~/cephinstall# df -hT
Filesystem                                                    Type      Size  Used Avail Use% Mounted on
udev                                                          devtmpfs  971M     0  971M   0% /dev
tmpfs                                                         tmpfs     199M  5.8M  193M   3% /run
/dev/sda1                                                     ext4       19G  7.5G   11G  43% /
tmpfs                                                         tmpfs     992M     0  992M   0% /dev/shm
tmpfs                                                         tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs                                                         tmpfs     992M     0  992M   0% /sys/fs/cgroup
tmpfs                                                         tmpfs     199M     0  199M   0% /run/user/0
192.168.91.128:6789,192.168.91.129:6789,192.168.91.131:6789:/ ceph       56G   26G   31G  46% /mycephfs


注意:挂载的命令非常长,它需要所有节点的ip和端口号

 

如果需要往ceph中,增加文件。只需要进入/mycephfs目录,像linux一样操作文件,就可以了!


ceph_install.sh

#/bin/bash
#前提环境
# 系统必须为ubuntu-16.04.5-server-amd64,至少有3个节点
# 务必保证每台主机的hostname和下面的变量设置一致
# 保证主机相互之间能用域名访问
# 保证每台主机开启了root登录
# 务必使用root用户运行此脚本
# 请参考链接:https://www.cnblogs.com/xiao987334176/articles/9909039.html
set -e
##注意mds和admin只有一台,请设置好MDS的值
################################################################
MDS="jqb-node128"
MON="jqb-node128 jqb-node129 jqb-node131"
OSDS="jqb-node128 jqb-node129 jqb-node131"
INST="$OSDS $MON"
################################################################
echo "设置ubuntu更新源" >> /opt/ceph_install.log
# 设置ubuntu更新源
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu xenial-security main restricted
deb http://mirrors.aliyun.com/ubuntu xenial-security universe
deb http://mirrors.aliyun.com/ubuntu xenial-security multiverse
deb http://download.ceph.com/debian-jewel/ xenial main" > /etc/apt/sources.list


echo "设置时区以及安装软件" >> /opt/ceph_install.log
# 设置时区以及安装软件
ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
bash -c "echo 'Asia/Shanghai' > /etc/timezone"
apt-get clean
apt-get update
apt-get install -y ceph-deploy --allow-unauthenticated
sed -i -e "28s/https/http/g" /usr/lib/python2.7/dist-packages/ceph_deploy/hosts/debian/install.py

echo "生成ssh秘钥" >> /opt/ceph_install.log
# 生成ssh秘钥
if [ ! -f ~/.ssh/id_rsa ];then
    ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
fi

echo "ssh免密登录" >> /opt/ceph_install.log
# ssh免密登录
for i in $INST; do
    echo $i
    ssh-copy-id $i
done

echo "远程节点环境设置以及软件安装" >> /opt/ceph_install.log
# 远程节点环境设置以及软件安装
for i in $INST; do 
    # 更新源 
    ssh $i "echo 'deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu xenial-security main restricted
deb http://mirrors.aliyun.com/ubuntu xenial-security universe
deb http://mirrors.aliyun.com/ubuntu xenial-security multiverse
deb http://download.ceph.com/debian-jewel/ xenial main' > /etc/apt/sources.list"
    # 时区设置
    ssh $i ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    ssh $i "echo 'Asia/Shanghai' > /etc/timezone"
    ssh $i apt-get update 
    ssh $i apt-get install -y ntpdate
    ssh $i /etc/init.d/ntp stop
    ssh $i ntpdate ntp1.aliyun.com  # 更新时间
    # ceph相关软件安装
    ssh $i apt-get install -y apt-transport-https --allow-unauthenticated
    ssh $i apt-get install -y radosgw --allow-unauthenticated
    ssh $i apt-get install -y "ceph-base ceph-common ceph-fs-common  ceph-fuse ceph-mds ceph-mon ceph-osd" --allow-unauthenticated
done

echo "创建管理目录" >> /opt/ceph_install.log
# 创建管理目录
mkdir -p /opt/cephinstall
cd /opt/cephinstall

echo "过定义监控节点,创建一个新集群" >> /opt/ceph_install.log
# 过定义监控节点,创建一个新集群
ceph-deploy new $MON

echo "修改配置文件" >> /opt/ceph_install.log
# 修改配置文件
echo "osd pool default size = 2
osd max object name len = 256
osd max object namespace len = 64
mon_pg_warn_max_per_osd = 2000
mon clock drift allowed = 30
mon clock drift warn backoff = 30
rbd cache writethrough until flush = false" >> ceph.conf

echo "安装 Ceph 到所有节点" >> /opt/ceph_install.log
# 安装 Ceph 到所有节点
ceph-deploy install $INST

echo "部署监控节点" >> /opt/ceph_install.log
# 部署监控节点
ceph-deploy mon create-initial

echo "增加 OSD 到集群" >> /opt/ceph_install.log
# 增加 OSD 到集群
# 这里将/data/ceph/osd目录,用来存储数据
for i in $OSDS; do
        echo $i
        ssh $i 'mkdir -p /data/ceph/osd'
        ssh $i 'ln -snf /data/ceph/osd /var/lib/ceph/osd'
        ceph-deploy osd prepare $i:/data/ceph/osd
        # success indicator: Host xxx is now ready for osd use
done

echo "激活 OSD节点" >> /opt/ceph_install.log
# 激活 OSD节点
for i in $OSDS; do
        echo $i
        ssh $i 'chown -R ceph:ceph /var/lib/ceph/'
        ssh $i 'chown -R ceph:ceph /data/ceph/'
        ceph-deploy osd activate $i:/data/ceph/osd
        #fix problem "socket /com/ubuntu/upstart: Connection refused"
        ssh $i 'dpkg-divert --local --rename --add /sbin/initctl'
        ssh $i 'ln -snf /bin/true /sbin/initctl'
        ssh $i 'rm -f /etc/apt/sources.list.d/ceph.list'
        ssh $i 'modprobe ceph'
done

echo "部署管理密钥到所有关联节点" >> /opt/ceph_install.log
# 部署管理密钥到所有关联节点
ceph-deploy admin $MDS

# 查看节点信息
ssh $MDS "ceph osd tree"

echo "查看验证秘钥" >> /opt/ceph_install.log
# 查看验证秘钥
ssh $MDS "ceph auth get-key client.admin | base64"
ssh $MDS "mkdir -p /var/lib/ceph/mds/ceph-$MDS"
ssh $MDS "chown -R ceph:ceph /var/lib/ceph"

echo "创建POOL" >> /opt/ceph_install.log
# 创建POOL
ssh $MDS ceph osd pool create fs_db_data 512 
ssh $MDS ceph osd pool create fs_db_metadata 512

# 查看pool
ssh $MDS ceph osd lspools

echo "创建Cephfs" >> /opt/ceph_install.log
# 创建Cephfs
ssh $MDS ceph fs new cephfs fs_db_metadata fs_db_data
# 查看pool
ssh $MDS ceph fs ls

echo "部署MDS" >> /opt/ceph_install.log
# 部署MDS
ceph-deploy --overwrite-conf mds create $MDS


echo "挂载需要的验证秘钥" >> /opt/ceph_install.log
# 挂载需要的验证秘钥
MOUNTKEY=`ssh $MDS "ceph auth get-key client.admin"`
# 节点ip
MONIP=`ssh $MDS cat /etc/ceph/ceph.conf |grep mon_host|cut -d "=" -f2|sed 's?,?:6789,?g'`
# 挂载目录
mkdir /mycephfs

echo "开始挂载" >> /opt/ceph_install.log
# 开始挂载
mount -t ceph $MONIP:6789:/ /mycephfs -o name=admin,secret=$MOUNTKEY


# 查看磁盘挂载
df -hT

echo "挂载完成" >> /opt/ceph_install.log


注意:执行之前,请仔细查看前置环境是否符合

 

执行之后,查看日志文件/opt/ceph_install.log输出:

设置ubuntu更新源
设置时区以及安装软件
生成ssh秘钥
ssh免密登录
远程节点环境设置以及软件安装
设置ubuntu更新源
设置时区以及安装软件
生成ssh秘钥
ssh免密登录
远程节点环境设置以及软件安装
创建管理目录
过定义监控节点,创建一个新集群
修改配置文件
安装 Ceph 到所有节点
部署监控节点
增加 OSD 到集群
激活 OSD节点
部署管理密钥到所有关联节点
查看验证秘钥
创建POOL
创建Cephfs
部署MDS
挂载需要的验证秘钥
开始挂载
挂载完成



以下文章,有兴趣的,可以看一下!

 

如何在 Ubuntu 16.04 中安装 Ceph 存储集群:
https://linux.cn/article-8182-1.html

 

Ceph基础知识和基础架构认识:
https://www.cnblogs.com/luohaixian/p/8087591.html

 

史上最全的Ceph介绍、原理、架构:

https://blog.csdn.net/uxiAD7442KMy1X86DtM3/article/details/81059215


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Ubuntu CEPH快速安装

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Ubuntu CEPH快速安装

不管你是想为云平台提供Ceph 对象存储和/或Ceph 块设备,还是想部署一个Ceph 文件系统或者把 Ceph 作为他用,所有Ceph 存储集群的部署都始于部署一个个Ceph 节点、网络和 Ceph 存储集群。 Ceph 存储集群至少需要
2023-01-30

Ubuntu快速安装eclipse

Ubuntu快速安装eclipse教程,供大家参考,具体内容如下1.先安装jdk,详情见链接 2.下载eclipse.tar.gz安装包(官网下载) 3.把下载好的安装包复制到/usr目录下先cd到tar.gz压缩包的目录下cd /home
2023-05-31

ubuntu快速安装Odoo9的步骤

这篇文章主要讲解了“ubuntu快速安装Odoo9的步骤”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ubuntu快速安装Odoo9的步骤”吧!方法/步骤1、安装VMware软件2、安装Ub
2023-06-13

Ubuntu 16.04中怎么安装Ceph存储集群

这篇文章主要介绍了Ubuntu 16.04中怎么安装Ceph存储集群的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Ubuntu 16.04中怎么安装Ceph存储集群文章都会有所收获,下面我们一起来看看吧。Cep
2023-06-28

怎么在Ubuntu 16.04中安装Ceph存储集群

这篇文章给大家分享的是有关怎么在Ubuntu 16.04中安装Ceph存储集群的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Ceph 是一个高性能、可靠、可扩展的开源存储平台。它是一个自由的分布式存储系统,提供
2023-06-16

Ubuntu下Subversion(SVN)的快速安装与配置详解

如果你是一个软件开发者,你一定对Subversion不会感到陌生。Subversion是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库
2022-06-04

foreman ubuntu16 快速安装

Quickstart Guide The Foreman installer is a collection of Puppet modules that installs everything required for a full w
2022-06-04

分享在Ubuntu系统中快速安装golang的方法

Ubuntu系统中快速安装golang方法分享在Ubuntu系统上安装golang是非常简单的。本文将向大家分享一种快速安装golang的方法,并提供具体的代码示例。步骤一:更新系统在安装golang之前,我们需要先更新系统。打开终端
分享在Ubuntu系统中快速安装golang的方法
2024-01-20

怎么快速安装OpenSUSE

本篇内容介绍了“怎么快速安装OpenSUSE”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!安装openSuSE的一般都是下载CD或DVD镜像
2023-06-16

如何快速安装Django

这篇文章给大家分享的是有关如何快速安装Django的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Django框架的研发,使得我们操作python中的用法变得更加简单,不过网上的安装教程五花八门,如何进行简单快速的
2023-06-14

FC4下快速安装jdk1.5.0(转)

FC4下快速安装jdk1.5.0(转)[@more@]以前一直使用1.4.2今天升了下级,发现1.5.0的控制台中文全是方块,看了网上相关的介绍,发现修改fonts.dir的方法不起作用,就研究了一下,现在把方法贴出来,顺便把安装方法一起写
2023-06-03

CentOS7怎么快速安装MySQL

本篇内容介绍了“CentOS7怎么快速安装MySQL”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!开始下载步骤,无需任何准备工作,简单明了。
2023-06-28

node安装--linux下的快速安装教程

前言 因为要使用koa2,所以要对node进行升级。(Koa requires node v7.6.0 or higher for ES2015 and async function support.翻译过来就是,koa需要node的版本至
2022-06-04

Mirth Connect如何快速安装

这篇文章主要介绍了Mirth Connect如何快速安装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。快速安装介绍了Mirth Connect3.4的基本安装过程,所有的例子
2023-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录