Archive for the ‘Linux Solution’ Category

Ceph Storage – failure resilience with ‚replica 3 redundancy‘

Freitag, April 26th, 2024

Ceph Storage  – ‚replica 3 redundancy‘ means your data is stored in replica 3 mode which includes three copies of each block for extra redundancy

Docker – Dateimanager

Freitag, April 26th, 2024

Proxmox Virtual Environment (VE) 8.2 – Release Highlights

Donnerstag, April 25th, 2024

Ceph v16.2.15 Pacific & Debian 12 Bookworm 64bit AMD64 & Proxmox Virtual Environment (VE) 8.2.2 – can be used to provide Ceph Object Storage to Cloud Platforms and Ceph can be used to provide Ceph Block Device services to Cloud Platforms

Donnerstag, April 25th, 2024

 

 

 

root@pve-ceph-01:~# apt-get install cephadm
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
Die folgenden zusätzlichen Pakete werden installiert:
aardvark-dns buildah catatonit conmon containernetworking-plugins crun
dmeventd fuse-overlayfs golang-github-containers-common
golang-github-containers-image iptables libaio1 libdevmapper-event1.02.1
libip6tc2 liblvm2cmd2.03 libslirp0 libsubid4 lvm2 netavark podman
slirp4netns thin-provisioning-tools uidmap
Vorgeschlagene Pakete:
containers-storage firewalld docker-compose
Die folgenden NEUEN Pakete werden installiert:
aardvark-dns buildah catatonit cephadm conmon containernetworking-plugins
crun dmeventd fuse-overlayfs golang-github-containers-common
golang-github-containers-image iptables libaio1 libdevmapper-event1.02.1
libip6tc2 liblvm2cmd2.03 libslirp0 libsubid4 lvm2 netavark podman
slirp4netns thin-provisioning-tools uidmap
0 aktualisiert, 24 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 29,5 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 126 MB Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren? [J/n] j
Holen:1 http://deb.debian.org/debian bookworm/main amd64 netavark amd64 1.4.0-3 [1.036 kB]
Holen:2 http://deb.debian.org/debian bookworm/main amd64 aardvark-dns amd64 1.4.0-3 [767 kB]
Holen:3 http://deb.debian.org/debian bookworm/main amd64 libsubid4 amd64 1:4.13+dfsg1-1+b1 [211 kB]
Holen:4 http://deb.debian.org/debian bookworm/main amd64 uidmap amd64 1:4.13+dfsg1-1+b1 [189 kB]
Holen:5 http://deb.debian.org/debian bookworm/main amd64 libip6tc2 amd64 1.8.9-2 [19,4 kB]
Holen:6 http://deb.debian.org/debian bookworm/main amd64 iptables amd64 1.8.9-2 [360 kB]
Holen:7 http://deb.debian.org/debian bookworm/main amd64 containernetworking-plugins amd64 1.1.1+ds1-3+b5 [6.769 kB]
Holen:8 http://deb.debian.org/debian bookworm/main amd64 golang-github-containers-image all 5.23.1-4 [31,7 kB]
Holen:9 http://deb.debian.org/debian bookworm/main amd64 golang-github-containers-common all 0.50.1+ds1-4 [36,2 kB]
Holen:10 http://deb.debian.org/debian bookworm/main amd64 buildah amd64 1.28.2+ds1-3+b1 [6.147 kB]
Holen:11 http://deb.debian.org/debian bookworm/main amd64 catatonit amd64 0.1.7-1+b1 [264 kB]
Holen:12 http://deb.debian.org/debian bookworm/main amd64 libaio1 amd64 0.3.113-4 [13,4 kB]
Holen:13 http://deb.debian.org/debian bookworm/main amd64 libdevmapper-event1.02.1 amd64 2:1.02.185-2 [12,9 kB]
Holen:14 http://deb.debian.org/debian bookworm/main amd64 liblvm2cmd2.03 amd64 2.03.16-2 [742 kB]
Holen:15 http://deb.debian.org/debian bookworm/main amd64 dmeventd amd64 2:1.02.185-2 [59,2 kB]
Holen:16 http://deb.debian.org/debian bookworm/main amd64 lvm2 amd64 2.03.16-2 [1.229 kB]
Holen:17 http://deb.debian.org/debian bookworm/main amd64 cephadm amd64 16.2.11+ds-2 [96,4 kB]
Holen:18 http://deb.debian.org/debian bookworm/main amd64 conmon amd64 2.1.6+ds1-1 [37,9 kB]
Holen:19 http://deb.debian.org/debian bookworm/main amd64 crun amd64 1.8.1-1+deb12u1 [289 kB]
Holen:20 http://deb.debian.org/debian bookworm/main amd64 fuse-overlayfs amd64 1.10-1 [43,5 kB]
Holen:21 http://deb.debian.org/debian bookworm/main amd64 libslirp0 amd64 4.7.0-1 [63,0 kB]
Holen:22 http://deb.debian.org/debian bookworm/main amd64 podman amd64 4.3.1+ds1-8+b1 [10,7 MB]
Holen:23 http://deb.debian.org/debian bookworm/main amd64 slirp4netns amd64 1.2.0-1 [37,5 kB]
Holen:24 http://deb.debian.org/debian bookworm/main amd64 thin-provisioning-tools amd64 0.9.0-2 [391 kB]
Es wurden 29,5 MB in 3 s geholt (10,7 MB/s).
Vormals nicht ausgewähltes Paket netavark wird gewählt.
(Lese Datenbank … 155362 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von …/00-netavark_1.4.0-3_amd64.deb …
Entpacken von netavark (1.4.0-3) …
Vormals nicht ausgewähltes Paket aardvark-dns wird gewählt.
Vorbereitung zum Entpacken von …/01-aardvark-dns_1.4.0-3_amd64.deb …
Entpacken von aardvark-dns (1.4.0-3) …
Vormals nicht ausgewähltes Paket libsubid4:amd64 wird gewählt.
Vorbereitung zum Entpacken von …/02-libsubid4_1%3a4.13+dfsg1-1+b1_amd64.deb …
Entpacken von libsubid4:amd64 (1:4.13+dfsg1-1+b1) …
Vormals nicht ausgewähltes Paket uidmap wird gewählt.
Vorbereitung zum Entpacken von …/03-uidmap_1%3a4.13+dfsg1-1+b1_amd64.deb …
Entpacken von uidmap (1:4.13+dfsg1-1+b1) …
Vormals nicht ausgewähltes Paket libip6tc2:amd64 wird gewählt.
Vorbereitung zum Entpacken von …/04-libip6tc2_1.8.9-2_amd64.deb …
Entpacken von libip6tc2:amd64 (1.8.9-2) …
Vormals nicht ausgewähltes Paket iptables wird gewählt.
Vorbereitung zum Entpacken von …/05-iptables_1.8.9-2_amd64.deb …
Entpacken von iptables (1.8.9-2) …
Vormals nicht ausgewähltes Paket containernetworking-plugins wird gewählt.
Vorbereitung zum Entpacken von …/06-containernetworking-plugins_1.1.1+ds1-3+b5_amd64.deb …
Entpacken von containernetworking-plugins (1.1.1+ds1-3+b5) …
Vormals nicht ausgewähltes Paket golang-github-containers-image wird gewählt.
Vorbereitung zum Entpacken von …/07-golang-github-containers-image_5.23.1-4_all.deb …
Entpacken von golang-github-containers-image (5.23.1-4) …
Vormals nicht ausgewähltes Paket golang-github-containers-common wird gewählt.
Vorbereitung zum Entpacken von …/08-golang-github-containers-common_0.50.1+ds1-4_all.deb …
Entpacken von golang-github-containers-common (0.50.1+ds1-4) …
Vormals nicht ausgewähltes Paket buildah wird gewählt.
Vorbereitung zum Entpacken von …/09-buildah_1.28.2+ds1-3+b1_amd64.deb …
Entpacken von buildah (1.28.2+ds1-3+b1) …
Vormals nicht ausgewähltes Paket catatonit wird gewählt.
Vorbereitung zum Entpacken von …/10-catatonit_0.1.7-1+b1_amd64.deb …
Entpacken von catatonit (0.1.7-1+b1) …
Vormals nicht ausgewähltes Paket libaio1:amd64 wird gewählt.
Vorbereitung zum Entpacken von …/11-libaio1_0.3.113-4_amd64.deb …
Entpacken von libaio1:amd64 (0.3.113-4) …
Vormals nicht ausgewähltes Paket libdevmapper-event1.02.1:amd64 wird gewählt.
Vorbereitung zum Entpacken von …/12-libdevmapper-event1.02.1_2%3a1.02.185-2_amd64.deb …
Entpacken von libdevmapper-event1.02.1:amd64 (2:1.02.185-2) …
Vormals nicht ausgewähltes Paket liblvm2cmd2.03:amd64 wird gewählt.
Vorbereitung zum Entpacken von …/13-liblvm2cmd2.03_2.03.16-2_amd64.deb …
Entpacken von liblvm2cmd2.03:amd64 (2.03.16-2) …
Vormals nicht ausgewähltes Paket dmeventd wird gewählt.
Vorbereitung zum Entpacken von …/14-dmeventd_2%3a1.02.185-2_amd64.deb …
Entpacken von dmeventd (2:1.02.185-2) …
Vormals nicht ausgewähltes Paket lvm2 wird gewählt.
Vorbereitung zum Entpacken von …/15-lvm2_2.03.16-2_amd64.deb …
Entpacken von lvm2 (2.03.16-2) …
Vormals nicht ausgewähltes Paket cephadm wird gewählt.
Vorbereitung zum Entpacken von …/16-cephadm_16.2.11+ds-2_amd64.deb …
Entpacken von cephadm (16.2.11+ds-2) …
Vormals nicht ausgewähltes Paket conmon wird gewählt.
Vorbereitung zum Entpacken von …/17-conmon_2.1.6+ds1-1_amd64.deb …
Entpacken von conmon (2.1.6+ds1-1) …
Vormals nicht ausgewähltes Paket crun wird gewählt.
Vorbereitung zum Entpacken von …/18-crun_1.8.1-1+deb12u1_amd64.deb …
Entpacken von crun (1.8.1-1+deb12u1) …
Vormals nicht ausgewähltes Paket fuse-overlayfs wird gewählt.
Vorbereitung zum Entpacken von …/19-fuse-overlayfs_1.10-1_amd64.deb …
Entpacken von fuse-overlayfs (1.10-1) …
Vormals nicht ausgewähltes Paket libslirp0:amd64 wird gewählt.
Vorbereitung zum Entpacken von …/20-libslirp0_4.7.0-1_amd64.deb …
Entpacken von libslirp0:amd64 (4.7.0-1) …
Vormals nicht ausgewähltes Paket podman wird gewählt.
Vorbereitung zum Entpacken von …/21-podman_4.3.1+ds1-8+b1_amd64.deb …
Entpacken von podman (4.3.1+ds1-8+b1) …
Vormals nicht ausgewähltes Paket slirp4netns wird gewählt.
Vorbereitung zum Entpacken von …/22-slirp4netns_1.2.0-1_amd64.deb …
Entpacken von slirp4netns (1.2.0-1) …
Vormals nicht ausgewähltes Paket thin-provisioning-tools wird gewählt.
Vorbereitung zum Entpacken von …/23-thin-provisioning-tools_0.9.0-2_amd64.deb …
Entpacken von thin-provisioning-tools (0.9.0-2) …
libdevmapper-event1.02.1:amd64 (2:1.02.185-2) wird eingerichtet …
libip6tc2:amd64 (1.8.9-2) wird eingerichtet …
crun (1.8.1-1+deb12u1) wird eingerichtet …
libsubid4:amd64 (1:4.13+dfsg1-1+b1) wird eingerichtet …
golang-github-containers-image (5.23.1-4) wird eingerichtet …
conmon (2.1.6+ds1-1) wird eingerichtet …
catatonit (0.1.7-1+b1) wird eingerichtet …
netavark (1.4.0-3) wird eingerichtet …
aardvark-dns (1.4.0-3) wird eingerichtet …
libslirp0:amd64 (4.7.0-1) wird eingerichtet …
fuse-overlayfs (1.10-1) wird eingerichtet …
golang-github-containers-common (0.50.1+ds1-4) wird eingerichtet …
libaio1:amd64 (0.3.113-4) wird eingerichtet …
slirp4netns (1.2.0-1) wird eingerichtet …
iptables (1.8.9-2) wird eingerichtet …
update-alternatives: /usr/sbin/iptables-legacy wird verwendet, um /usr/sbin/iptables (iptables) im automatischen Modus bereitzustellen
update-alternatives: /usr/sbin/ip6tables-legacy wird verwendet, um /usr/sbin/ip6tables (ip6tables) im automatischen Modus bereitzustellen
update-alternatives: /usr/sbin/iptables-nft wird verwendet, um /usr/sbin/iptables (iptables) im automatischen Modus bereitzustellen
update-alternatives: /usr/sbin/ip6tables-nft wird verwendet, um /usr/sbin/ip6tables (ip6tables) im automatischen Modus bereitzustellen
update-alternatives: /usr/sbin/arptables-nft wird verwendet, um /usr/sbin/arptables (arptables) im automatischen Modus bereitzustellen
update-alternatives: /usr/sbin/ebtables-nft wird verwendet, um /usr/sbin/ebtables (ebtables) im automatischen Modus bereitzustellen
uidmap (1:4.13+dfsg1-1+b1) wird eingerichtet …
podman (4.3.1+ds1-8+b1) wird eingerichtet …
Created symlink /etc/systemd/system/default.target.wants/podman-auto-update.service → /lib/systemd/system/podman-auto-update.service.
Created symlink /etc/systemd/system/timers.target.wants/podman-auto-update.timer → /lib/systemd/system/podman-auto-update.timer.
Created symlink /etc/systemd/system/default.target.wants/podman-restart.service → /lib/systemd/system/podman-restart.service.
Created symlink /etc/systemd/system/default.target.wants/podman.service → /lib/systemd/system/podman.service.
Created symlink /etc/systemd/system/sockets.target.wants/podman.socket → /lib/systemd/system/podman.socket.
containernetworking-plugins (1.1.1+ds1-3+b5) wird eingerichtet …
thin-provisioning-tools (0.9.0-2) wird eingerichtet …
buildah (1.28.2+ds1-3+b1) wird eingerichtet …
liblvm2cmd2.03:amd64 (2.03.16-2) wird eingerichtet …
dmeventd (2:1.02.185-2) wird eingerichtet …
Created symlink /etc/systemd/system/sockets.target.wants/dm-event.socket → /lib/systemd/system/dm-event.socket.
dm-event.service is a disabled or a static unit, not starting it.
lvm2 (2.03.16-2) wird eingerichtet …
Created symlink /etc/systemd/system/sysinit.target.wants/blk-availability.service → /lib/systemd/system/blk-availability.service.
Created symlink /etc/systemd/system/sysinit.target.wants/lvm2-monitor.service → /lib/systemd/system/lvm2-monitor.service.
Created symlink /etc/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket → /lib/systemd/system/lvm2-lvmpolld.socket.
cephadm (16.2.11+ds-2) wird eingerichtet …
Adding system user cephadm…done
Trigger für initramfs-tools (0.142) werden verarbeitet …
update-initramfs: Generating /boot/initrd.img-6.1.0-20-amd64
Trigger für libc-bin (2.36-9+deb12u4) werden verarbeitet …
Trigger für man-db (2.11.2-2) werden verarbeitet …
root@pve-ceph-01:~#
root@pve-ceph-01:~# cephadm bootstrap –mon-ip 192.168.1.179
Creating directory /etc/ceph for ceph.conf
Verifying podman|docker is present…
Verifying lvm2 is present…
Verifying time synchronization is in place…
Unit systemd-timesyncd.service is enabled and running
Repeating the final host check…
podman (/usr/bin/podman) version 4.3.1 is present
systemctl is present
lvcreate is present
Unit systemd-timesyncd.service is enabled and running
Host looks OK
Cluster fsid: b9c9f9ec-fb3b-11ee-ad8b-bc241165d6a2
Verifying IP 192.168.1.179 port 3300 …
Verifying IP 192.168.1.179 port 6789 …
Mon IP `192.168.1.179` is in CIDR network `192.168.1.0/24`
Mon IP `192.168.1.179` is in CIDR network `192.168.1.0/24`
Internal network (–cluster-network) has not been provided, OSD replication will default to the public_network
Pulling container image quay.io/ceph/ceph:v16…
Ceph version: ceph version 16.2.15 (618f440892089921c3e944a991122ddc44e60516) pacific (stable)
Extracting ceph user uid/gid from container image…
Creating initial keys…
Creating initial monmap…
Creating mon…
Waiting for mon to start…
Waiting for mon…
mon is available
Assimilating anything we can from ceph.conf…
Generating new minimal ceph.conf…
Restarting the monitor…
Setting mon public_network to 192.168.1.0/24
Wrote config to /etc/ceph/ceph.conf
Wrote keyring to /etc/ceph/ceph.client.admin.keyring
Creating mgr…
Verifying port 9283 …
Waiting for mgr to start…
Waiting for mgr…
mgr not available, waiting (1/15)…
mgr not available, waiting (2/15)…
mgr not available, waiting (3/15)…
mgr not available, waiting (4/15)…
mgr is available
Enabling cephadm module…
Waiting for the mgr to restart…
Waiting for mgr epoch 5…
mgr epoch 5 is available
Setting orchestrator backend to cephadm…
Generating ssh key…
Wrote public SSH key to /etc/ceph/ceph.pub
Adding key to root@localhost authorized_keys…
Adding host pve-ceph-01…
Deploying mon service with default placement…
Deploying mgr service with default placement…
Deploying crash service with default placement…
Deploying prometheus service with default placement…
Deploying grafana service with default placement…
Deploying node-exporter service with default placement…
Deploying alertmanager service with default placement…
Enabling the dashboard module…
Waiting for the mgr to restart…
Waiting for mgr epoch 9…
mgr epoch 9 is available
Generating a dashboard self-signed certificate…
Creating initial admin user…
Fetching dashboard port number…
Ceph Dashboard is now available at:
URL: https://pve-ceph-01.fritz.box:8443/
User: admin
Password: ry4pab9d3c
Enabling client.admin keyring and conf on hosts with „admin“ label
Enabling autotune for osd_memory_target
You can access the Ceph CLI as following in case of multi-cluster or non-default config:
sudo /usr/sbin/cephadm shell –fsid b9c9f9ec-fb3b-11ee-ad8b-bc241165d6a2 -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring
Or, if you are only running a single cluster on this host:
sudo /usr/sbin/cephadm shell
Please consider enabling telemetry to help improve Ceph:
ceph telemetry on
For more information see:
https://docs.ceph.com/en/pacific/mgr/telemetry/
Bootstrap complete.
root@pve-ceph-01:~#
root@pve-ceph-01:~# vi /etc/ssh/sshd_config
PermitRootLogin yes
root@pve-ceph-02:~# vi /etc/ssh/sshd_config
PermitRootLogin yes
root@pve-ceph-03:~# vi /etc/ssh/sshd_config
PermitRootLogin yes
root@pve-ceph-01:~# ssh-copy-id -f -i /etc/ceph/ceph.pub root@root@192.168.1.182
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: „/etc/ceph/ceph.pub“
root@root@192.168.1.182’s password:
Number of key(s) added: 1
Now try logging into the machine, with: „ssh ‚root@192.168.1.182′“
and check to make sure that only the key(s) you wanted were added.
root@pve-ceph-01:~#
root@pve-ceph-02:~# apt-get install cephadm
root@pve-ceph-01:~# ssh-copy-id -f -i /etc/ceph/ceph.pub root@root@192.168.1.163
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: „/etc/ceph/ceph.pub“
root@root@192.168.1.163’s password:
Number of key(s) added: 1
Now try logging into the machine, with: „ssh ‚root@192.168.1.163′“
and check to make sure that only the key(s) you wanted were added.
root@pve-ceph-03:~#
root@pve-ceph-03:~# apt-get install cephadm

root@pve-ceph-01:~# cephadm shell
Inferring fsid b9c9f9ec-fb3b-11ee-ad8b-bc241165d6a2
Using recent ceph image quay.io/ceph/ceph@sha256:7d0767aeeaa09813514d425581e3f62f9913b5e565cb
75402bbb910d5d795800

 

root@pve-ceph-01:/#

 

root@pve-ceph-01:/# ceph versions
{
„mon“: {
„ceph version 16.2.15 (618f440892089921c3e944a991122ddc44e60516) pacific (stable)“: 3
},
„mgr“: {
„ceph version 16.2.15 (618f440892089921c3e944a991122ddc44e60516) pacific (stable)“: 3
},
„osd“: {
„ceph version 16.2.15 (618f440892089921c3e944a991122ddc44e60516) pacific (stable)“: 6
},
„mds“: {},
„overall“: {
„ceph version 16.2.15 (618f440892089921c3e944a991122ddc44e60516) pacific (stable)“: 12
}
}
root@pve-ceph-01:/#

root@pve-ceph-01:/# ceph osd lspools
1 device_health_metrics
2 CephPool_1

 

root@pve-ceph-01:/#

root@pve-ceph-01:/# ceph df
— RAW STORAGE —
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 192 GiB 190 GiB 1.7 GiB 1.7 GiB 0.89
TOTAL 192 GiB 190 GiB 1.7 GiB 1.7 GiB 0.89
— POOLS —
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
device_health_metrics 1 1 0 B 3 0 B 0 60 GiB
CephPool_1 2 32 0 B 0 0 B 0 60 GiB

 

root@pve-ceph-01:/#

root@pve-ceph-01:~# ceph osd pool create cephfs0_data
pool ‚cephfs0_data‘ created
root@pve-ceph-01:~# ceph osd pool create cephfs0_metadata
pool ‚cephfs0_metadata‘ created
root@pve-ceph-01:~# ceph fs new cephfs0 cephfs0_metadata cephfs0_data
Pool ‚cephfs0_data‘ (id ‚5‘) has pg autoscale mode ‚on‘ but is not marked as bulk.
Consider setting the flag by running
# ceph osd pool set cephfs0_data bulk true
new fs with metadata pool 4 and data pool 5
root@pve-ceph-01:~# ceph orch apply mds cephfs0 3
Scheduled mds.cephfs0 update…
root@pve-ceph-01:~#

If you have to delete a pool …

root@pve-ceph-01:~# ceph osd pool create CephPool_1
pool ‚CephPool_1‚ created
root@pve-ceph-01:~# ceph tell mon.\* injectargs –mon-allow-pool-delete=true
mon.pve-ceph-01: {}
mon.pve-ceph-01: mon_allow_pool_delete = ‚true‘
mon.pve-ceph-02: {}
mon.pve-ceph-02: mon_allow_pool_delete = ‚true‘
mon.pve-ceph-03: {}
mon.pve-ceph-03: mon_allow_pool_delete = ‚true‘
root@pve-ceph-01:~# ceph osd pool rm CephPool_1 CephPool_1 –yes-i-really-really-mean-it
pool ‚CephPool_1‚ removed
root@pve-ceph-01:~# ceph tell mon.\* injectargs –mon-allow-pool-delete=false
mon.pve-ceph-01: {}
mon.pve-ceph-01: mon_allow_pool_delete = ‚false‘
mon.pve-ceph-02: {}
mon.pve-ceph-02: mon_allow_pool_delete = ‚false‘
mon.pve-ceph-03: {}
mon.pve-ceph-03: mon_allow_pool_delete = ‚false‘
root@pve-ceph-01:~#

root@pve-ceph-01:~# ceph -s
cluster:
id: b9c9f9ec-fb3b-11ee-ad8b-bc241165d6a2
health: HEALTH_OK
services:
mon: 3 daemons, quorum pve-ceph-01,pve-ceph-02,pve-ceph-03 (age 36m)
mgr: pve-ceph-01.ndywtd(active, since 36m), standbys: pve-ceph-03.ykrztw, pve-ceph-02.yaaerl
mds: 1/1 daemons up, 2 standby
osd: 6 osds: 6 up (since 36m), 6 in (since 7d)
data:
volumes: 1/1 healthy
pools: 3 pools, 65 pgs
objects: 25 objects, 4.4 KiB
usage: 1.7 GiB used, 190 GiB / 192 GiB avail
pgs: 65 active+clean
root@pve-ceph-01:~#
root@pve-ceph-01:~# ceph fs authorize cephfs0 client.user / rw | tee /etc/ceph/ceph.client.user.keyring
root@pve-ceph-01:~# scp /etc/ceph/ceph.client.admin.keyring root@192.168.1.185:/etc/ceph/ceph.client.admin.keyring
root@pve-ceph-01:~# scp /etc/ceph/ceph.conf root@192.168.1.185:/etc/ceph/ceph.conf
root@pve-ceph-00:~# mkdir -p /mnt/cephfs0
root@pve-ceph-00:~# df -k
Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf
udev 975192 0 975192 0% /dev
tmpfs 201420 1024 200396 1% /run
/dev/sda1 15421320 5526512 9089640 38% /
tmpfs 1007092 0 1007092 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 201416 60 201356 1% /run/user/113
tmpfs 201416 44 201372 1% /run/user/0
root@pve-ceph-00:~#
root@pve-ceph-00:~# mount -t ceph 192.168.1.179,192.168.1.182,192.168.1.163:/ /mnt/cephfs0 -o name=admin,noatime,nodiratime,_netdev
root@pve-ceph-00:~# df -k
Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf
udev 975192 0 975192 0% /dev
tmpfs 201420 1028 200392 1% /run
/dev/sda1 15421320 5526512 9089640 38% /
tmpfs 1007092 0 1007092 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 201416 60 201356 1% /run/user/113
tmpfs 201416 44 201372 1% /run/user/0
192.168.1.179,192.168.1.182,192.168.1.163:/ 63143936 0 63143936 0% /mnt/cephfs0
root@pve-ceph-00:~#
root@pve-ceph-00:~# umount -a
root@pve-ceph-00:~#
root@pve-ceph-00:~# vi /etc/fstab
192.168.1.179,192.168.1.182,192.168.1.163:/ /mnt/cephfs0 ceph name=admin,noatime,nodiratime,_netdev 0 2
root@pve-ceph-00:~# systemctl daemon-reload
root@pve-ceph-00:~# mount -a
root@pve-ceph-00:~# df -k
Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf
udev 975192 0 975192 0% /dev
tmpfs 201420 1032 200388 1% /run
/dev/sda1 15421320 5526512 9089640 38% /
tmpfs 1007092 0 1007092 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 201416 60 201356 1% /run/user/113
tmpfs 201416 44 201372 1% /run/user/0
192.168.1.179,192.168.1.182,192.168.1.163:/ 63143936 0 63143936 0% /mnt/cephfs0
root@pve-ceph-00:~#

root@pve-ceph-00:/mnt/cephfs0# dd if=/dev/zero of=tempfile bs=1M count=1000
1000+0 Datensätze ein
1000+0 Datensätze aus
1048576000 Bytes (1,0 GB, 1000 MiB) kopiert, 12,5857 s, 83,3 MB/s
root@pve-ceph-00:/mnt/cephfs0#
root@pve-ceph-00:/mnt/cephfs0# ls -la
insgesamt 1024004
drwxr-xr-x 2 root root 1 26. Apr 13:31 .
drwxr-xr-x 3 root root 4096 26. Apr 13:24 ..
-rw-r–r– 1 root root 1048576000 26. Apr 13:31 tempfile
root@pve-ceph-00:/mnt/cephfs0#

Proxmox Virtual Environment (VE) 8.2 – released on April 24 2024

Mittwoch, April 24th, 2024

BorgBackup – lokal und remote sichern

Dienstag, April 23rd, 2024

Proxmox Virtual Environment (VE) 8.1.10 – USV Shutdown Befehl und Home Assistant automatisieren

Donnerstag, April 18th, 2024

Proxmox Virtual Environment (VE) 8.1.10 – setting up a high availability cluster with Ceph

Mittwoch, April 17th, 2024

Ceph Storage – the GUI for the setup process setting up services hosts and OSDs

Freitag, April 12th, 2024

Ceph Storage – a brief overview of the project and what it can do

Donnerstag, April 11th, 2024

Ceph Storage – how to manually install a cluster and add Object Storage Devices (OSD) and play around with Reliable Autonomic Distributed Object Storage (RADOS) is a great way to store data in a secure and efficient way

Donnerstag, April 11th, 2024

Ceph Storage – explained with Raspberry Pi(s)

Mittwoch, April 10th, 2024

Ceph Storage – can be used to provide Ceph Object Storage to Cloud Platforms and Ceph can be used to provide Ceph Block Device services to Cloud Platforms

Mittwoch, April 10th, 2024

 

 

 

root@rpi-iot-jsho-ceph-01:~#
root@rpi-iot-jsho-ceph-01:~# apt-get install cephadm
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut… Fertig
Statusinformationen werden eingelesen… Fertig
cephadm ist schon die neueste Version (16.2.11+ds-2).
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
root@rpi-iot-jsho-ceph-01:~#
root@rpi-iot-jsho-ceph-01:~# apt-get install docker.io
root@rpi-iot-jsho-ceph-01:~# apt-get install podman-docker

Ceph containers only run on 64 bit systems

root@rpi-iot-jsho-ceph-01:~# apt-get install cephadm
root@rpi-iot-jsho-ceph-01:~# cephadm bootstrap –mon-ip 192.168.1.146
Creating directory /etc/ceph for ceph.conf
Verifying podman|docker is present…
Verifying lvm2 is present…
Verifying time synchronization is in place…
Unit systemd-timesyncd.service is enabled and running
Repeating the final host check…
podman (/usr/bin/podman) version 4.3.1 is present
systemctl is present
lvcreate is present
Unit systemd-timesyncd.service is enabled and running
Host looks OK
Cluster fsid: 3ece5414-f716-11ee-adce-dca632593fcd
Verifying IP 192.168.1.146 port 3300 …
Verifying IP 192.168.1.146 port 6789 …
Mon IP `192.168.1.146` is in CIDR network `192.168.1.0/24`
Mon IP `192.168.1.146` is in CIDR network `192.168.1.0/24`
Internal network (–cluster-network) has not been provided, OSD replication will default to the public_network
Pulling container image quay.io/ceph/ceph:v16…
Ceph version: ceph version 16.2.15 (618f440892089921c3e944a991122ddc44e60516) pa cific (stable)
Extracting ceph user uid/gid from container image…
Creating initial keys…
Creating initial monmap…
Creating mon…
Waiting for mon to start…
Waiting for mon…
mon is available
Assimilating anything we can from ceph.conf…
Generating new minimal ceph.conf…
Restarting the monitor…
Setting mon public_network to 192.168.1.0/24
Wrote config to /etc/ceph/ceph.conf
Wrote keyring to /etc/ceph/ceph.client.admin.keyring
Creating mgr…
Verifying port 9283 …
Waiting for mgr to start…
Waiting for mgr…
mgr not available, waiting (1/15)…
mgr not available, waiting (2/15)…
mgr not available, waiting (3/15)…
mgr not available, waiting (4/15)…
mgr not available, waiting (5/15)…
mgr not available, waiting (6/15)…
mgr is available
Enabling cephadm module…
Waiting for the mgr to restart…
Waiting for mgr epoch 5…
mgr epoch 5 is available
Setting orchestrator backend to cephadm…
Generating ssh key…
Wrote public SSH key to /etc/ceph/ceph.pub
Adding key to root@localhost authorized_keys…
Adding host rpi-iot-jsho-ceph-01…
Deploying mon service with default placement…
Deploying mgr service with default placement…
Deploying crash service with default placement…
Deploying prometheus service with default placement…
Deploying grafana service with default placement…
Deploying node-exporter service with default placement…
Deploying alertmanager service with default placement…
Enabling the dashboard module…
Waiting for the mgr to restart…
Waiting for mgr epoch 9…
mgr epoch 9 is available
Generating a dashboard self-signed certificate…
Creating initial admin user…
Fetching dashboard port number…
Ceph Dashboard is now available at:
URL: https://rpi-iot-jsho-ceph-01:8443/
User: admin
Password: <password>
Enabling client.admin keyring and conf on hosts with „admin“ label
Enabling autotune for osd_memory_target
You can access the Ceph CLI as following in case of multi-cluster or non-default config:
sudo /usr/sbin/cephadm shell –fsid 3ece5414-f716-11ee-adce-dca632593fcd -c /etc/ceph/ceph.conf -k /etc/ceph/ceph.client.admin.keyring
Or, if you are only running a single cluster on this host:
sudo /usr/sbin/cephadm shell
Please consider enabling telemetry to help improve Ceph:
ceph telemetry on
For more information see:
https://docs.ceph.com/en/pacific/mgr/telemetry/
Bootstrap complete.
root@rpi-iot-jsho-ceph-01:~#

https://rpi-iot-jsho-ceph-01:8443/

https://rpi-iot-jsho-ceph-01:8443/#/dashboard

Proxmox Virtual Environment (VE) 8.1.10 – ein Synology NAS als SMB einbinden

Mittwoch, April 10th, 2024

Raspberry Pi Zero W – how to install Resilio Sync 2.7.3.1381

Montag, April 8th, 2024

root@rpi-iot-jsho-rslsync-01:~# vi /etc/apt/sources.list.d/resilio-sync.list
deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free
root@rpi-iot-jsho-rslsync-01:~# wget -qO – https://linux-packages.resilio.com/resilio-sync/key.asc | sudo apt-key add
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK
root@rpi-iot-jsho-rslsync-01:~#
root@rpi-iot-jsho-rslsync-01:~# dpkg –add-architecture armel
root@rpi-iot-jsho-rslsync-01:~# apt-get update
Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Hit:2 http://archive.raspberrypi.org/debian bullseye InRelease
Get:3 https://linux-packages.resilio.com/resilio-sync/deb resilio-sync InRelease [4,521 B]
Get:4 https://linux-packages.resilio.com/resilio-sync/deb resilio-sync/non-free armel Packages [482 B]
Get:5 https://linux-packages.resilio.com/resilio-sync/deb resilio-sync/non-free armhf Packages [483 B]
Fetched 5,486 B in 8s (708 B/s)
Reading package lists… Done
N: Skipping acquire of configured file ‚main/binary-armel/Packages‘ as repository ‚http://raspbian.raspberrypi.org/raspbian bullseye InRelease‘ doesn’t support architecture ‚armel‘
N: Skipping acquire of configured file ‚contrib/binary-armel/Packages‘ as repository ‚http://raspbian.raspberrypi.org/raspbian bullseye InRelease‘ doesn’t support architecture ‚armel‘
N: Skipping acquire of configured file ’non-free/binary-armel/Packages‘ as repository ‚http://raspbian.raspberrypi.org/raspbian bullseye InRelease‘ doesn’t support architecture ‚armel‘
N: Skipping acquire of configured file ‚rpi/binary-armel/Packages‘ as repository ‚http://raspbian.raspberrypi.org/raspbian bullseye InRelease‘ doesn’t support architecture ‚armel‘
N: Skipping acquire of configured file ‚main/binary-armel/Packages‘ as repository ‚http://archive.raspberrypi.org/debian bullseye InRelease‘ doesn’t support architecture ‚armel‘

root@rpi-iot-jsho-rslsync-01:~#
root@rpi-iot-jsho-rslsync-01:~# apt-get install resilio-sync:armel
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
The following NEW packages will be installed:
resilio-sync:armel
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.8 MB of archives.
After this operation, 18.8 MB of additional disk space will be used.
Get:1 https://linux-packages.resilio.com/resilio-sync/deb resilio-sync/non-free armel resilio-sync armel 2.7.3.1381-1 [10.8 MB]
Fetched 10.8 MB in 14s (748 kB/s)
Selecting previously unselected package resilio-sync:armel.
(Reading database … 106660 files and directories currently installed.)
Preparing to unpack …/resilio-sync_2.7.3.1381-1_armel.deb …
Unpacking resilio-sync:armel (2.7.3.1381-1) …
Setting up resilio-sync:armel (2.7.3.1381-1) …
Processing triggers for man-db (2.9.4-2) …
root@rpi-iot-jsho-rslsync-01:~#
root@rpi-iot-jsho-rslsync-01:~# systemctl status resilio-sync
● resilio-sync.service – Resilio Sync service
Loaded: loaded (/lib/systemd/system/resilio-sync.service; disabled; vendor preset: enabled)
Active: active (running) since Mon 2024-04-08 15:56:41 CEST; 2min 7s ago
Docs: https://help.resilio.com
Process: 1557 ExecStartPre=/bin/mkdir -p ${SYNC_RUN_DIR} ${SYNC_LIB_DIR} (code=exited, status=0/SUCCESS)
Process: 1558 ExecStartPre=/bin/chown -R ${SYNC_USER}:${SYNC_GROUP} ${SYNC_RUN_DIR} ${SYNC_LIB_DIR} (code=exited, status=0/SUCCESS)
Process: 1559 ExecStart=/usr/bin/rslsync –config ${SYNC_CONF_DIR}/config.json (code=exited, status=0/SUCCESS)
Process: 1561 ExecStartPost=/bin/sleep 1 (code=exited, status=0/SUCCESS)
Main PID: 1560 (rslsync)
Tasks: 16 (limit: 414)
CPU: 3.085s
CGroup: /system.slice/resilio-sync.service
└─1560 /usr/bin/rslsync –config /etc/resilio-sync/config.json
Apr 08 15:56:40 rpi-iot-jsho-rslsync-01 systemd[1]: Starting Resilio Sync service…
Apr 08 15:56:41 rpi-iot-jsho-rslsync-01 systemd[1]: Started Resilio Sync service.

root@rpi-iot-jsho-rslsync-01:~#
root@rpi-iot-jsho-rslsync-01:/# mkdir /resilio-sync.data
root@rpi-iot-jsho-rslsync-01:/# chown rslsync /resilio-sync.data
root@rpi-iot-jsho-rslsync-01:/# chgrp rslsync /resilio-sync.data

Resilio Sync 2.7.3.1381 Problem „Not enough free space“ with Raspberry Pi Zero W

Please set disk_min_free_space parameter to 0 (by default 0.0) in Power user preferences (Preferences > Advanced > Open power user preferences) – Restart Sync to apply the change