Instalación del clúster de almacenamiento
ceph (de acuerdo con los pasos de la documentación se puede construir correctamente) Los documentos se utilizan para crear un clúster ceph y utilizar el cliente para montar el almacenamiento en bloque ceph
##### Al seguir la implementación del documento, asegúrese de leer detenidamente cada palabra. Debe (cada palabra es importante)
#Reimpreso de forma privada, comuníquese con el blogger; de lo contrario, se deben investigar los derechos de autor. Hay WeChat bajo los derechos de autor.
Entorno del sistema:
excepto el cliente, todos son centos7. Cada máquina tiene dos discos. El segundo disco se utiliza como un disco de almacenamiento ceph.
IP | Nombre del nodo |
---|---|
192.168.182.150 | administración |
192.168.182.151 | ceph-1 |
192.168.182.152 | ceph-2 |
192.168.182.129 | cliente |
Los tres nodos escritos en el documento deben ejecutarse. Se refieren a los tres nodos de admin, ceph-1 y ceph-2.
1. Configure el nombre de host de un cliente para tres nodos.
ejecución del nodo de administración
[root@admin ~]# hostnamectl set-hostname admin
ejecución del nodo ceph-1
[root@ceph-1 ~]# hostnamectl set-hostname ceph-1
ejecución del nodo ceph-2
[root@ceph-2 ~]# hostnamectl set-hostname ceph-2
cliente ejecución del cliente
[root@client ~]# hostnamectl set-hostname client
2. Escriba los nombres de host de los tres nodos en el archivo de hosts y cierre firewalld y selinux (cerrado temporalmente).
# Deben ejecutarse los tres nodos
echo -e "192.168.182.150 admin\n192.168.182.151 ceph-1\n192.168.182.152 ceph-2" >>/etc/hosts
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
3. Para evitar errores de tiempo, instale el servicio ntp como administración de tiempo.
# Deben ejecutarse los tres nodos
[root@admin ~]# yum -y install ntp
[root@admin ~]# ntpdate edu.ntp.org.cn
4. Dado que ceph no puede ser ejecutado por el usuario root, cree un usuario normal y establezca una contraseña para ceph (no la configuramos como ceph por seguridad).
# Deben ejecutarse los tres nodos
useradd cphe
echo 123456|passwd --stdin cphe
5. Confirme que el usuario recién creado tiene permisos de sudo.
echo "cphe ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cphe
sudo chmod 0440 /etc/sudoers.d/cphe
6. Configure el inicio de sesión sin clave (porque ceph-deploy no solicitará la contraseña).
(Los siguientes comandos no pueden copiar directamente ssh-keygen y presionar Enter ssh-copy-id cphe @ ceph-1 para ingresar la contraseña cphe)
Ejecución del nodo de administración (al ejecutar este comando, debe cambiar al usuario que acaba de crear, que es cphe)
[cphe@admin my-cluster]$ ssh-keygen
[cphe@admin my-cluster]$ ssh-copy-id -i /home/cphe/.ssh/id_rsa.pub cphe@admin
[cphe@admin my-cluster]$ ssh-copy-id -i /home/cphe/.ssh/id_rsa.pub cphe@ceph-1
[cphe@admin my-cluster]$ ssh-copy-id -i /home/cphe/.ssh/id_rsa.pub cphe@ceph-2
7. Configure la fuente yum e instale la clave de ceph. # Deben
ejecutarse los tres nodos
sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && sudo yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm /etc/yum.repos.d/dl.fedoraproject.org*
echo -e "[ceph-noarch]\nname=Ceph noarch packages\nbaseurl=http://download.ceph.com/rpm-15.2.8/el7/noarch/\nenabled=1\ngpgcheck=1\ntype=rpm-md\ngpgkey=https://download.ceph.com/keys/release.asc" > /etc/yum.repos.d/ceph.repo
8. Instale la herramienta de implementación ceph-deploy para administrar el clúster ceph y crear un directorio del clúster (preste atención para cambiar al usuario recién creado)
ejecución del nodo de administración
[root@admin ~]# yum -y install python-pip ceph-deploy
[root@admin ]# su - cphe
[cphe@admin ~]$ mkdir my-cluster
[cphe@admin ~]$ cd my-cluster/
9. Utilice ceph-deploy para la implementación del nodo (preste atención para cambiar al usuario que acaba de crear)
implementación del nodo de administración
[cphe@admin my-cluster]$ ceph-deploy new admin ceph-1 ceph-2
##执行完之后可以ls查看下当前目录有集群的配置文件和部署日志
10. Configure la red del clúster y la
ejecución del nodo de administración de la red compartida.
[cphe@admin my-cluster]$ echo -e "public network = 192.168.182.0/24\ncluster network = 192.168.182.0/24" >> /home/cphe/my-cluster/ceph.conf
11. Comience a instalar ceph ceph-radosgw para cada nodo (el comando oficial es ceph-deploy install admin ceph-1 ceph-2, pero debido a que la red es demasiado lenta, no se puede instalar con la instalación de origen de Aliyun)
## Los tres nodos son necesarios Ejecutar (tenga en cuenta que sudo se usa en el nodo de administración o se abre otra ventana raíz)
##下载阿里云的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
##添加阿里源:
echo -e "[ceph]\nname=ceph\nbaseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/\ngpgcheck=0\n[ceph-noarch]\nname=cephnoarch\nbaseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/\ngpgcheck=0" >/etc/yum.repos.d/ceph.repo
yum -y install ceph ceph-radosgw
12. Configure los monitores iniciales y recopile todas las claves
[cphe@admin my-cluster]$ ceph-deploy mon create-initial
13. Use ceph-deploy para copiar el archivo de configuración y la clave de administración en el nodo de administración y el nodo Ceph, de modo que no necesite especificar la dirección del monitor y ceph.client.admin.keyring cada vez que ejecute la línea de comando Ceph.
ejecución del nodo de administración
[cphe@admin my-cluster]$ ceph-deploy admin admin ceph-1 ceph-2
14. Formatee el disco y cree un osd
[cphe@admin my-cluster]$ ceph-deploy disk zap admin:sdb
#执行上面命令会出错,我查看了我的ceph-deploy版本是2.0版本的
#卸载2.0版本的ceph-deploy
#安装ceph-deploy=1.5.39
[cphe@admin my-cluster]$ sudo yum -y remove ceph-deploy
[cphe@admin my-cluster]$ sudo pip install ceph-deploy==1.5.39
[cphe@admin my-cluster]$ ceph-deploy disk zap admin:sdb
[cphe@admin my-cluster]$ ceph-deploy disk zap ceph-1:sdb
[cphe@admin my-cluster]$ ceph-deploy disk zap ceph-2:sdb
[cphe@admin my-cluster]$ ceph-deploy osd create admin:sdb
[cphe@admin my-cluster]$ ceph-deploy osd create ceph-1:sdb
[cphe@admin my-cluster]$ ceph-deploy osd create ceph-2:sdb
15. Agregue permisos legibles a los archivos y vea la
ejecución del nodo de administración del estado del clúster
[cphe@admin my-cluster]$ sudo chmod +r /etc/ceph/ceph.client.admin.keyring
[cphe@admin my-cluster]$ ceph health
HEALTH_OK##这是返回值
HEALTH_WARN 64 pgs degraded; 64 pgs stuck unclean; 64 pgs undersized##也有可能是这样的返回值继续就好
16. Configure la fuente de yum para el cliente e instale ceph
### Tenga en cuenta en qué máquina se ejecuta
[cphe@admin my-cluster]$ scp /etc/yum.repos.d/* [email protected]:///etc/yum.repos.d/
[root@client ~]# yum -y install ceph
17. Copie el archivo de configuración ceph y la
ejecución del nodo de administración del archivo de claves para el cliente
[cphe@admin my-cluster]$ scp /home/cphe/my-cluster/ceph.conf [email protected]://etc/ceph/
[cphe@admin my-cluster]$ scp /home/cphe/my-cluster/ceph.client.admin.keyring [email protected]://etc/ceph/
18. Ver el grupo de dispositivos rápidos del clúster y crear un grupo de dispositivos de bloque también se puede ejecutar utilizando el
nodo de cliente rbd predeterminado
[root@client ~]# ceph osd lspools
0 rbd,
[root@client ~]# ceph osd pool create wlrbd 128
pool 'wlrbd' created
[root@client ~]# ceph osd lspools
0 rbd,1 wlrbd,
19. Cree un dispositivo de bloque y vea la
ejecución del nodo cliente.
[root@client ~]# rbd create rbd1 --size 10240 --name client.admin
[root@client ~]# rbd ls
rbd1
[root@client ~]# rbd ls -p rbd --name client.admin
rbd1
以上两种办法都可以查看因为我们就有一个rbd1的块设备
[root@client ~]# rbd list --name client.admin ##这是查看所有rbd设备
rbd1
[root@client ~]# [root@client ~]# rbd --image rbd1 info --name client.admin ##查看详情
rbd image 'rbd1':
size 10240 MB in 2560 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.37746b8b4567
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
flags:
20. En el nodo ceph-client, asigne la imagen como un dispositivo de bloque y formatee el dispositivo. (Informará un error de que el kernel no admite ciertas funciones y mantiene la función de capas de acuerdo con lo anterior. Otras se pueden deshabilitar)
ejecución del nodo cliente
[root@client ~]# rbd map --image rbd1 --name client.admin
rbd: sysfs write failed
RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".
In some cases useful info is found in syslog - try "dmesg | tail" or so.
rbd: map failed: (6) No such device or address
[root@client ~]# rbd feature disable rbd1 exclusive-lock object-map fast-diff deep-flatten
[root@client ~]# rbd map --image rbd1 --name client.admin
/dev/rbd0
[root@client ~]# rbd showmapped --name client.admin ##查看设备信息
id pool image snap device
0 rbd rbd1 - /dev/rbd0
[root@client ~]# mkfs.ext4 -m0 /dev/rbd0
21. Cree un directorio de disco de montaje y cuélguelo en el
nodo cliente del disco para su ejecución.
[root@client ~]# mkdir /mnt/ceph-1
[root@client ~]# mount /dev/rbd0 /mnt/ceph-1
[root@client ~]# df -hT /mnt/ceph-1
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/rbd0 ext4 9.8G 37M 9.7G 1% /mnt/ceph-1
wx: a1362623821