- Mô hình này sẽ cài tất cả các thành phần của CEPH lên một máy duy nhất, bao gồm:
- ceph-deploy
- ceph-admin
- mon
- OSD
- LAB này chỉ phù hợp với việc nghiên cức các tính năng và demo thử nghiệm, không áp dụng được trong thực tế.
- Việc dựng CEPH-AIO có thể chạy theo đúng mô hình này hoặc theo mô hình để tích hợp cùng OpenStack tại tài liệu này [link tài liệu]
- Sử dụng mô hình dưới để cài đặt CEPH AIO, nếu chỉ dựng CEPH AIO thì chỉ cần một máy chủ để cài đặt CEPH.
- Phân hoạch IP cho các máy chủ trong mô hình trên, nếu chỉ dựng CEPH-AIO thì chỉ cần quan tâm tới node CEPH-AIO
-
OS
- CentOS Server 7.2 64 bit
- 05: HDD, trong đó:
sda
: sử dụng để cài OSsdb
: sử dụng làmjournal
(Journal là một lớp cache khi client ghi dữ liệu, thực tế thường dùng ổ SSD để làm cache)sdc, sdd, sde
: sử dụng làm OSD (nơi chứa dữ liệu của client)
- 02 NICs:
eno16777728
: dùng client (các máy trong OpenStack) sử dụng, sử dụng dải 10.10.10.0/24eno33554952
: dùng để ssh và tải gói cho máy chủ CEPH AIO, sử dụng dải172.16.69.0/24eno50332176
: dùng để replicate cho CEPH, dải 10.10.30.0/24
-
CEPH Jewel
-
Nếu chưa login vào máy chủ CEPH-AIO bằng quyền
root
thì thực hiện chuyển sang quyềnroot
su -
-
Update các gói cho máy chủ
yum update -y
-
Đặt hostname cho máy cài AIO
hostnamectl set-hostname cephaio
-
Thiết lập IP cho máy CEPH AIO
echo "Setup IP eno16777728" nmcli c modify eno16777728 ipv4.addresses 10.10.10.71/24 nmcli c modify eno16777728 ipv4.method manual nmcli con mod eno16777728 connection.autoconnect yes echo "Setup IP eno33554952" nmcli c modify eno33554952 ipv4.addresses 172.16.69.71/24 nmcli c modify eno33554952 ipv4.gateway 172.16.69.1 nmcli c modify eno33554952 ipv4.dns 8.8.8.8 nmcli c modify eno33554952 ipv4.method manual nmcli con mod eno33554952 connection.autoconnect yes echo "Setup IP eno50332176" nmcli c modify eno50332176 ipv4.addresses 10.10.30.71/24 nmcli c modify eno50332176 ipv4.method manual nmcli con mod eno50332176 connection.autoconnect yes
-
Cấu hình các thành phần mạng cơ bản
sudo systemctl disable firewalld sudo systemctl stop firewalld sudo systemctl disable NetworkManager sudo systemctl stop NetworkManager sudo systemctl enable network sudo systemctl start network
-
Vô hiệu hóa Selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
-
Sửa file host
echo "10.10.10.71 cephaio" >> /etc/hosts
-
Khởi động lại máy chủ sau khi cấu hình cơ bản.
init 6
-
Đăng nhập lại bằng quyền
root
sau khi máy chủ reboot xong. -
Khai báo repos cho CEPH
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*
cat << EOF > /etc/yum.repos.d/ceph.repo [Ceph-noarch] name=Ceph noarch packages baseurl=http://download.ceph.com/rpm-jewel/el7/noarch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc priority=1 EOF
-
Update sau khi khai báo repo
sudo yum -y update
-
Tạo user
ceph-deploy
sudo useradd -d /home/ceph-deploy -m ceph-deploy
-
Đặt mật khẩu cho user
ceph-deploy
sudo passwd ceph-deploy
-
Phân quyền cho user
ceph
echo "ceph-deploy ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph-deploy chmod 0440 /etc/sudoers.d/ceph-deploy sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers
-
Chuyển sang user
ceph-deploy
su - ceph-deploy
-
Tạo ssh key cho user
ceph-deploy
ssh-keygen -t rsa
-
Thực hiện copy ssh key, nhập yes và mật khẩu của user
ceph-deploy
ở bước trước.ssh-copy-id ceph-deploy@cephaio
-
Cài đặt
ceph-deploy
sudo yum install -y ceph-deploy
-
Tạo thư mục để chứa các file cần thiết cho việc cài đặt CEPH
mkdir cluster-ceph cd cluster-ceph
-
Thiết lập các file cấu hình cho CEPH.
ceph-deploy new cephaio
-
Sau khi thực hiện lệnh trên xong, sẽ thu được 03 file ở dưới (sử dụng lệnh
ll -alh
để xem). Trong đó cần cập nhật fileceph.conf
để cài đặt CEPH được hoàn chỉnh.[ceph-deploy@cephaio cluster-ceph]$ ls -alh total 16K drwxrwxr-x. 2 ceph-deploy ceph-deploy 72 Apr 14 09:36 . drwx------. 4 ceph-deploy ceph-deploy 4.0K Apr 14 09:36 .. -rw-rw-r--. 1 ceph-deploy ceph-deploy 196 Apr 14 09:36 ceph.conf -rw-rw-r--. 1 ceph-deploy ceph-deploy 3.0K Apr 14 09:36 ceph-deploy-ceph.log -rw-------. 1 ceph-deploy ceph-deploy 73 Apr 14 09:36 ceph.mon.keyring
-
Thêm các dòng dưới vào file
ceph.conf
vừa được tạo ra ở trênecho "osd pool default size = 2" >> ceph.conf echo "osd crush chooseleaf type = 0" >> ceph.conf echo "osd journal size = 8000" >> ceph.conf echo "public network = 10.10.10.0/24" >> ceph.conf echo "cluster network = 10.10.30.0/24" >> ceph.conf
-
Cài đặt CEPH, thay
cephaio
bằng tên hostname của máy bạn nếu có thay đổi.ceph-deploy install cephaio
- Sau khi cài xong, nếu thành công sẽ có kết quả như sau.
[cephaio][DEBUG ] Complete! [cephaio][INFO ] Running command: sudo ceph --version [cephaio][DEBUG ] ceph version 10.2.7 (50e863e0f4bc8f4b9e31156de690d765af245185
- Sau khi cài xong, nếu thành công sẽ có kết quả như sau.
-
Cấu hình
MON
(một thành phần của CEPH)ceph-deploy mon create-initial
-
Sau khi thực hiện lệnh để cấu hình
MON
xong, sẽ sinh thêm ra 04 file :ceph.bootstrap-mds.keyring
ceph.bootstrap-osd.keyring
ceph.bootstrap-rgw.keyring
ceph.client.admin.keyring
-
Quan sát bằng lệnh
ll -alh
[ceph-deploy@cephaio cluster-ceph]$ ls -lah total 160K drwxrwxr-x. 2 ceph-deploy ceph-deploy 4.0K Apr 14 10:28 . drwx------. 4 ceph-deploy ceph-deploy 4.0K Apr 14 10:18 .. -rw-------. 1 ceph-deploy ceph-deploy 113 Apr 14 10:28 ceph.bootstrap-mds.keyring -rw-------. 1 ceph-deploy ceph-deploy 113 Apr 14 10:28 ceph.bootstrap-osd.keyring -rw-------. 1 ceph-deploy ceph-deploy 113 Apr 14 10:28 ceph.bootstrap-rgw.keyring -rw-------. 1 ceph-deploy ceph-deploy 129 Apr 14 10:28 ceph.client.admin.keyring -rw-rw-r--. 1 ceph-deploy ceph-deploy 339 Apr 14 10:18 ceph.conf -rw-rw-r--. 1 ceph-deploy ceph-deploy 66K Apr 14 10:28 ceph-deploy-ceph.log -rw-------. 1 ceph-deploy ceph-deploy 73 Apr 14 10:18 ceph.mon.keyring
-
Tạo các OSD cho CEPH, thay
cephaio
bằng tên hostname của máy bạnceph-deploy osd prepare cephaio:sdc:/dev/sdb ceph-deploy osd prepare cephaio:sdd:/dev/sdb ceph-deploy osd prepare cephaio:sde:/dev/sdb
-
Active các OSD vừa tạo ở trên
ceph-deploy osd activate cephaio:/dev/sdc1:/dev/sdb1 ceph-deploy osd activate cephaio:/dev/sdd1:/dev/sdb2 ceph-deploy osd activate cephaio:/dev/sde1:/dev/sdb3
-
Sau khi cấu hình các OSD xong, kiểm tra xem các phân vùng bằng lệnh
sudo lsblk
, nếu thành công, kết quả như sau[ceph-deploy@cephaio cluster-ceph]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 60G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 59.5G 0 part ├─centos-root 253:0 0 35.9G 0 lvm / ├─centos-swap 253:1 0 6G 0 lvm [SWAP] └─centos-home 253:2 0 17.5G 0 lvm /home sdb 8:16 0 50G 0 disk ├─sdb1 8:17 0 7.8G 0 part ├─sdb2 8:18 0 7.8G 0 part └─sdb3 8:19 0 7.8G 0 part sdc 8:32 0 50G 0 disk └─sdc1 8:33 0 50G 0 part /var/lib/ceph/osd/ceph-0 sdd 8:48 0 50G 0 disk └─sdd1 8:49 0 50G 0 part /var/lib/ceph/osd/ceph-1 sde 8:64 0 50G 0 disk └─sde1 8:65 0 50G 0 part /var/lib/ceph/osd/ceph-2 sr0 11:0 1 603M 0 rom [ceph-deploy@cephaio cluster-ceph]$
-
Tạo file config và key
ceph-deploy admin cephaio
-
Phân quyền cho file
/etc/ceph/ceph.client.admin.keyring
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
-
Kiểm tra trạng thái của CEPH sau khi cài
ceph -s
- Kết của lệnh
ceph -s
[ceph-deploy@cephaio cluster-ceph]$ ceph -s cluster ae46be36-dee3-4bb9-9448-91aa148b301e health HEALTH_OK monmap e1: 1 mons at {cephaio=10.10.10.71:6789/0} election epoch 3, quorum 0 cephaio osdmap e15: 3 osds: 3 up, 3 in flags sortbitwise,require_jewel_osds pgmap v34: 64 pgs, 1 pools, 0 bytes data, 0 objects 100 MB used, 149 GB / 149 GB avail 64 active+clean
- Kết của lệnh
-
Kiểm tra các OSD bằng lệnh
ceph osd tree
, kết quả như sau:[ceph-deploy@cephaio cluster-ceph]$ ceph osd tree ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 0.14639 root default -2 0.14639 host cephaio 0 0.04880 osd.0 up 1.00000 1.00000 1 0.04880 osd.1 up 1.00000 1.00000 2 0.04880 osd.2 up 1.00000 1.00000
-
Kiểm tra bằng lệnh
ceph health
, kết quả như sau là ok.[ceph-deploy@cephaio cluster-ceph]$ ceph health HEALTH_OK
- Thực hiện map và mount các rbd cho client là CentOS 7.x
-
Login vào máy chủ và chuyển sang quyền
root
su -
-
Update các gói cho máy chủ
yum update -y
-
Đặt hostname cho máy cài CentOS Client1
hostnamectl set-hostname centos7client1
-
Thiết lập IP cho máy CEPH AIO
echo "Setup IP eno16777728" nmcli c modify eno16777728 ipv4.addresses 10.10.10.51/24 nmcli c modify eno16777728 ipv4.method manual nmcli con mod eno16777728 connection.autoconnect yes echo "Setup IP eno33554952" nmcli c modify eno33554952 ipv4.addresses 172.16.69.51/24 nmcli c modify eno33554952 ipv4.gateway 172.16.69.1 nmcli c modify eno33554952 ipv4.dns 8.8.8.8 nmcli c modify eno33554952 ipv4.method manual nmcli con mod eno16777728 connection.autoconnect yes
-
Cấu hình các thành phần mạng cơ bản
sudo systemctl disable firewalld sudo systemctl stop firewalld sudo systemctl disable NetworkManager sudo systemctl stop NetworkManager sudo systemctl enable network sudo systemctl start network
-
Vô hiệu hóa Selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
-
Sửa file host
echo "10.10.10.71 cephaio" >> /etc/hosts echo "10.10.10.51 centos7client1" >> /etc/hosts
-
Khởi động lại máy chủ sau khi cấu hình cơ bản.
init 6
-
Đăng nhập lại bằng quyền
root
sau khi máy chủ reboot xong. -
Khai báo repos cho CEPH
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*
cat << EOF > /etc/yum.repos.d/ceph-deploy.repo [Ceph-noarch] name=Ceph noarch packages baseurl=http://download.ceph.com/rpm-jewel/el7/noarch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc priority=1 EOF
-
Update sau khi khai báo repo
sudo yum -y update
-
Tạo user
ceph-deploy
sudo useradd -d /home/ceph-deploy -m ceph-deploy
-
Đặt mật khẩu cho user
ceph-deploy
sudo passwd ceph-deploy
-
Phân quyền cho user
ceph
echo "ceph-deploy ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph-deploy chmod 0440 /etc/sudoers.d/ceph-deploy sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers
-
Login vào máy chủ CEPH AIO và thực hiện các lệnh dưới
-
Chuyển sang tài khoản
root
su -
-
Khai báo thêm host của client
echo "10.10.10.51 centos7client1" >> /etc/hosts
-
Chuyển sang tài khoản
ceph-deploy
để thực hiện cài đặtsudo su - ceph-deploy cd cluster-ceph
-
Copy ssh key đã tạo trước đó sang client, gõ
yes
và nhập mật khẩu của userceph-deploy
phía client đã tạo trước đó.ssh-copy-id ceph-deploy@centos7client1
-
-
Thực hiện copy file config cho ceph và key sang client
ceph-deploy install centos7client1
- Sau khi kết thúc quá trình cài đặt cho client, nếu thành công sẽ có báo kết quả như sau ở màn hình.
[centos7client1][DEBUG ] Complete! [centos7client1][INFO ] Running command: sudo ceph --version [centos7client1][DEBUG ] ceph version 10.2.7 (50e863e0f4bc8f4b9e31156de690d765af245185)
- Tiếp tục thực hiện lệnh để copy các file cần thiết từ node CEPH-AIO sang client
ceph-deploy admin centos7client1
- Thực hiện xong lệnh trên, ceph-deploy sẽ copy các file cần thiết vào thư mục
/etc/ceph
của client. Chuyển sang client để thực hiện tiếp các thao tác.
- Sau khi kết thúc quá trình cài đặt cho client, nếu thành công sẽ có báo kết quả như sau ở màn hình.
-
Đăng nhập vào tài khoản
root
của client (Trong phần này client là CentOS 7) -
Thực hiện việc kiểm tra các gói
ceph
đã được cài bằng lệnhrpm -qa | grep ceph
[root@centos7client1 yum.repos.d]# rpm -qa | grep ceph python-cephfs-10.2.7-0.el7.x86_64 ceph-base-10.2.7-0.el7.x86_64 ceph-selinux-10.2.7-0.el7.x86_64 ceph-osd-10.2.7-0.el7.x86_64 ceph-mds-10.2.7-0.el7.x86_64 ceph-radosgw-10.2.7-0.el7.x86_64 libcephfs1-10.2.7-0.el7.x86_64 ceph-common-10.2.7-0.el7.x86_64 ceph-mon-10.2.7-0.el7.x86_64 ceph-10.2.7-0.el7.x86_64 ceph-release-1-1.el7.noarch
-
Kích hoạt rbdmap để khởi động cùng OS.
[root@centos7client1 ceph]# systemctl enable rbdmap Created symlink from /etc/systemd/system/multi-user.target.wants/rbdmap.service to /usr/lib/systemd/system/rbdmap.service.
-
Tạo 1 RBD có dung lượng 10Gb
rbd create disk02 --size 10240
- Có thể kiểm tra lại kết quả tạo bằng lệnh
rbd ls -l
- Có thể kiểm tra lại kết quả tạo bằng lệnh
-
Chạy lệnh dưới để fix lỗi
RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".
ở bản CEPH Jewel. Lưu ý từ khóadisk01
trong lệnh, nó là tên image của rbd được tạo.rbd feature disable rbd/disk01 fast-diff,object-map,exclusive-lock,deep-flatten
-
Thực hiện map rbd vừa tạo
sudo rbd map disk01
- Kiểm tra lại kết quả map bằng lệnh dưới
rbd showmapped
- Kiểm tra lại kết quả map bằng lệnh dưới
-
Thực hiện format disk vừa được map
sudo mkfs.xfs /dev/rbd0
-
Thực hiện mount disk vừa được format để sử dụng (mount vào thư mục
mnt
của client)sudo mount /dev/rbd0 /mnt
-
Kiểm tra lại việc mount đã thành công hay chưa bằng một trong các lệnh dưới
df -hT
lsblk
-
Tạo thử 1 file 5GB vào thư mục
/mnt
bằng lệnhdd
. Lệnh này thực hiện trên client.cd /mnt dd if=/dev/zero of=test bs=1M count=5000
- Nếu muốn quan sát quá trình ghi đọc trên server CEPH-AIO thì thực hiện lệnh
ceph -w
- Nếu muốn quan sát quá trình ghi đọc trên server CEPH-AIO thì thực hiện lệnh
-
Mặc định khi khởi động lại thì việc map rbd sẽ bị mất, xử lý như sau:
-
Mở file /etc/ceph/rbdmap và thêm dòng dưới
rbd/disk01 id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
- Lưu ý cần khai báo pool
rbd
và tên images làdisk01
đã được khai báo ở bên trên.
- Lưu ý cần khai báo pool
-
Sửa file
/etc/fstab
để việc mount được thực hiện mỗi khi khởi động lại OS, thêm dòng/dev/rbd0 /mnt xfs defaults,noatime,_netdev 0 0
-
Trong quá trình lab với client là ubuntu và centos tôi gặp hiện tượng khởi động lại Client 2 lần thì mới đăng nhập được, chưa hiểu tại sao lại bị tình trạng như vậy.
-
- Bước này sẽ hướng dẫn sử dụng RBD của CEPH để cung cấp cho các Client
-
Login vào máy chủ client và chuyển sang quyền
root
su -
-
Cấu hình IP cho các NICs theo IP Planning
cp /etc/network/interfaces /etc/network/interfaces.orig cat << EOF > /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 10.10.10.52 netmask 255.255.255.0 auto eth1 iface eth1 inet static address 172.16.69.52 gateway 172.16.69.1 netmask 255.255.255.0 dns-nameservers 8.8.8.8 EOF
-
Thiết lập hostname
echo "ubuntuclient2" > /etc/hostname hostname -F /etc/hostname
-
Sửa file host
echo "10.10.10.71 cephaio" >> /etc/hosts echo "10.10.10.52 ubuntuclient2" >> /etc/hosts
-
Khai báo Repo cho CEPH đối với Ubuntu Server 14.04
wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add - echo deb http://download.ceph.com/debian-jewel/ trusty main | sudo tee /etc/apt/sources.list.d/ceph.list
-
Thực hiện update sau khi khai báo repos và khởi động lại
apt-get update -y && apt-get upgrade -y && apt-get dist-upgrade -y && init 6
-
Cài đặt các gói ceph phía client
sudo apt-get install -y python-rbd ceph-common
-
Tạo user
ceph-deploy
để sử dụng cho việc cài đặt cho CEPH.sudo useradd -m -s /bin/bash ceph-deploy
-
Đặt mật mẩu cho user
ceph-deploy
sudo passwd ceph-deploy
-
Phân quyền cho user
ceph-deploy
echo "ceph-deploy ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph-deploy sudo chmod 0440 /etc/sudoers.d/ceph-deploy
-
Login vào máy chủ CEPH AIO và thực hiện các lệnh dưới
-
Khai báo thêm host của client
echo "10.10.10.52 ubuntuclient2" >> /etc/hosts
-
Chuyển sang tài khoản
ceph-deploy
để thực hiện cài đặtsudo su - ceph-deploy cd cluster-ceph
-
Copy ssh key đã tạo trước đó sang client, gõ
yes
và nhập mật khẩu của userceph-deploy
phía client đã tạo trước đó.ssh-copy-id ceph-deploy@ubuntuclient2
-
-
Thực hiện copy file config cho ceph và key sang client
ceph-deploy admin ubuntuclient2
-
Login vào mà hình của máy client để thực hiện các bước tiếp theo như sau:
-
Chuyển sang quyền
root
su -
-
Phân quyền cho file
/etc/ceph/ceph.client.admin.keyring
vừa được copy sang ở trênsudo chmod +r /etc/ceph/ceph.client.admin.keyring
-
Kiểm tra trạng thái của CEPH từ client
ceph -s
- Kết quả là:
root@ubuntuclient2:/etc/ceph# ceph -s cluster 2406781c-afdf-40c5-83a4-3ae49b2a3dea health HEALTH_OK monmap e1: 1 mons at {cephaio=10.10.10.71:6789/0} election epoch 4, quorum 0 cephaio osdmap e24: 3 osds: 3 up, 3 in flags sortbitwise,require_jewel_osds pgmap v3484: 64 pgs, 1 pools, 0 bytes data, 1 objects 101 MB used, 149 GB / 149 GB avail 64 active+clean
- Kết quả là:
-
Khởi động rbdmap cùng OS
sudo update-rc.d rbdmap defaults
-
Cài đặt thêm gói
xfsprogs
để có thể sử dụng lệnhmkfs.xfs
sudo apt-get install xfsprogs
-
Tạo 1 RBD có dung lượng 10Gb
rbd create disk02 --size 10240
- Có thể kiểm tra lại kết quả tạo bằng lệnh
rbd ls -l
- Có thể kiểm tra lại kết quả tạo bằng lệnh
-
Chạy lệnh dưới để fix lỗi
RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".
ở bản CEPH Jewel. Lưu ý từ khóadisk02
trong lệnh, nó là tên image của rbd được tạo.rbd feature disable rbd/disk02 fast-diff,object-map,exclusive-lock,deep-flatten
-
Thực hiện map rbd vừa tạo
sudo rbd map disk02
- Kiểm tra lại kết quả map bằng lệnh dưới
rbd showmapped
- Kiểm tra lại kết quả map bằng lệnh dưới
-
Thực hiện format disk vừa được map
sudo mkfs.xfs /dev/rbd1
-
Thực hiện mount disk vừa được format để sử dụng (mount vào thư mục
mnt
của client)sudo mount /dev/rbd1 /mnt
-
Kiểm tra lại việc mount đã thành công hay chưa bằng một trong các lệnh dưới
df -hT
lsblk
-
Tạo thử 1 file 5GB vào thư mục
/mnt
bằng lệnhdd
. Lệnh này thực hiện trên client.cd /mnt dd if=/dev/zero of=test bs=1M count=5000
- Nếu muốn quan sát quá trình ghi đọc trên server CEPH-AIO thì thực hiện lệnh
ceph -w
- Nếu muốn quan sát quá trình ghi đọc trên server CEPH-AIO thì thực hiện lệnh
-
Mặc định khi khởi động lại thì việc map rbd sẽ bị mất, xử lý như sau:
-
Mở file /etc/ceph/rbdmap và thêm dòng dưới
rbd/disk02 id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
- Lưu ý cần khai báo pool
rbd
và tên images làdisk01
đã được khai báo ở bên trên.
- Lưu ý cần khai báo pool
-
Sửa file
/etc/fstab
để việc mount được thực hiện mỗi khi khởi động lại OS, thêm dòng/dev/rbd1 /mnt xfs defaults,noatime,_netdev 0 0
-
Trong quá trình lab với client là ubuntu tôi gặp hiện tượng khởi động lại Client 2 lần thì mới đăng nhập được, chưa hiểu tại sao lại bị tình trạng như vậy.
-
-
File lỗi khi thực hiện
map
các rbd, nếu chạy xuất hiện lỗi dướiceph-deploy@client:~$ sudo rbd map disk01 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
- Thì thực hiện
rbd feature disable rbd/disk01 fast-diff,object-map,exclusive-lock,deep-flatten
- Lưu ý từ khóa
disk02
trong lệnh, nó là tên image của rbd được tạo.
- Lưu ý từ khóa
- Thì thực hiện
-
Nếu khi thực hiện format phân vùng RBD trên client
sudo: mkfs.xfs: command not found
, thì cần cài đặt gói để sử dụng lệnhmkfs.xfs
sudo apt-get install xfsprogs
-
Lệnh để xem thuộc tính của các loại disk trong linux
blkid
-
Lệnh xem các pool trong CEPH
root@ubuntuclient2:~# ceph osd lspools 0 rbd,