From 0d3161286504399c92180a866d1ee763d5ebb90f Mon Sep 17 00:00:00 2001
From: berendt
Date: Tue, 5 Dec 2023 12:35:53 +0000
Subject: [PATCH] deploy: 3dbfe6b80dafdbe4ec24ea7e5f3fa8c17ca32552
---
404.html | 2 +-
assets/js/8352bc95.6d841257.js | 1 +
assets/js/8352bc95.ccefae85.js | 1 -
...~main.b6669cd9.js => runtime~main.77e43b23.js} | 2 +-
blog/archive/index.html | 2 +-
blog/first-blog-post/index.html | 2 +-
blog/index.html | 2 +-
blog/long-blog-post/index.html | 2 +-
blog/mdx-blog-post/index.html | 2 +-
blog/tags/docusaurus/index.html | 2 +-
blog/tags/facebook/index.html | 2 +-
blog/tags/hello/index.html | 2 +-
blog/tags/hola/index.html | 2 +-
blog/tags/index.html | 2 +-
blog/welcome/index.html | 2 +-
docs/appendix/glossary/index.html | 2 +-
docs/appendix/index.html | 2 +-
docs/appendix/standards/index.html | 2 +-
docs/getting-started/index.html | 2 +-
docs/guides/configuration-guide/ceph/index.html | 15 +++++++++++----
.../guides/configuration-guide/commons/index.html | 2 +-
.../commons/network/index.html | 2 +-
.../commons/packages/index.html | 2 +-
.../commons/services/index.html | 2 +-
.../commons/sshconfig/index.html | 2 +-
.../configuration-guide/commons/sysctl/index.html | 2 +-
.../commons/timezone/index.html | 2 +-
.../configuration-repository/index.html | 2 +-
docs/guides/configuration-guide/index.html | 2 +-
.../configuration-guide/inventory/index.html | 2 +-
.../guides/configuration-guide/manager/index.html | 2 +-
.../openstack/horizon/index.html | 2 +-
.../configuration-guide/openstack/index.html | 2 +-
.../openstack/keystone/index.html | 2 +-
docs/guides/configuration-guide/proxy/index.html | 2 +-
.../self-signed-certificates/index.html | 2 +-
.../configuration-guide/services/index.html | 2 +-
docs/guides/deploy-guide/bootstrap/index.html | 2 +-
.../examples/cloud-in-a-box/index.html | 2 +-
docs/guides/deploy-guide/examples/index.html | 2 +-
.../deploy-guide/examples/testbed/index.html | 2 +-
docs/guides/deploy-guide/index.html | 2 +-
docs/guides/deploy-guide/manager/index.html | 2 +-
docs/guides/deploy-guide/provisioning/index.html | 2 +-
docs/guides/deploy-guide/seed/index.html | 2 +-
docs/guides/deploy-guide/services/ceph/index.html | 2 +-
docs/guides/deploy-guide/services/index.html | 2 +-
.../services/infrastructure/index.html | 2 +-
.../services/logging-monitoring/index.html | 2 +-
.../deploy-guide/services/network/index.html | 2 +-
.../deploy-guide/services/openstack/index.html | 2 +-
docs/guides/index.html | 2 +-
docs/guides/operations-guide/ceph/index.html | 2 +-
docs/guides/operations-guide/index.html | 2 +-
.../operations-guide/manager/apply/index.html | 2 +-
.../operations-guide/manager/console/index.html | 2 +-
docs/guides/operations-guide/manager/index.html | 2 +-
.../operations-guide/manager/log/index.html | 2 +-
.../operations-guide/manager/task/index.html | 2 +-
.../operations-guide/openstack/cinder/index.html | 2 +-
.../day2-operations/flavor-manager/index.html | 2 +-
.../day2-operations/image-manager/index.html | 2 +-
.../openstack/day2-operations/index.html | 2 +-
.../day2-operations/project-manager/index.html | 2 +-
.../day2-operations/resource-manager/index.html | 2 +-
.../day2-operations/sandbox-manager/index.html | 2 +-
docs/guides/operations-guide/openstack/index.html | 2 +-
.../operations-guide/openstack/octavia/index.html | 2 +-
.../other-guides/contributor-guide/index.html | 2 +-
.../other-guides/developer-guide/index.html | 2 +-
.../developer-guide/releases/index.html | 2 +-
.../developer-guide/scripts/index.html | 2 +-
.../developer-guide/zuul-ci/index.html | 2 +-
docs/guides/other-guides/index.html | 2 +-
docs/guides/other-guides/style-guide/index.html | 2 +-
docs/guides/other-guides/zuul/index.html | 2 +-
docs/guides/troubleshooting-guide/index.html | 2 +-
.../troubleshooting-guide/manager/index.html | 2 +-
.../troubleshooting-guide/openstack/index.html | 2 +-
docs/guides/upgrade-guide/ceph/index.html | 2 +-
docs/guides/upgrade-guide/docker/index.html | 2 +-
docs/guides/upgrade-guide/index.html | 2 +-
.../upgrade-guide/infrastructure/index.html | 2 +-
.../upgrade-guide/logging-monitoring/index.html | 2 +-
docs/guides/upgrade-guide/manager/index.html | 2 +-
docs/guides/upgrade-guide/network/index.html | 2 +-
docs/guides/upgrade-guide/openstack/index.html | 2 +-
docs/intro/architecture/index.html | 2 +-
docs/intro/index.html | 2 +-
docs/references/cli/index.html | 2 +-
docs/references/configuration/index.html | 2 +-
docs/references/index.html | 2 +-
docs/references/parameters/index.html | 2 +-
docs/release-notes/index.html | 2 +-
docs/release-notes/osism-6/index.html | 2 +-
index.html | 2 +-
markdown-page/index.html | 2 +-
97 files changed, 106 insertions(+), 99 deletions(-)
create mode 100644 assets/js/8352bc95.6d841257.js
delete mode 100644 assets/js/8352bc95.ccefae85.js
rename assets/js/{runtime~main.b6669cd9.js => runtime~main.77e43b23.js} (99%)
diff --git a/404.html b/404.html
index 8863e56ba0..5dbf43050f 100644
--- a/404.html
+++ b/404.html
@@ -5,7 +5,7 @@
Page Not Found | OSISM
-
+
diff --git a/assets/js/8352bc95.6d841257.js b/assets/js/8352bc95.6d841257.js
new file mode 100644
index 0000000000..404663566f
--- /dev/null
+++ b/assets/js/8352bc95.6d841257.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkosism=self.webpackChunkosism||[]).push([[3980],{2417:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>d,metadata:()=>t,toc:()=>o});var s=i(5893),r=i(1151);const d={sidebar_label:"Ceph",sidebar_position:40},c="Ceph",t={id:"guides/configuration-guide/ceph",title:"Ceph",description:"Unique Identifier",source:"@site/docs/guides/configuration-guide/ceph.md",sourceDirName:"guides/configuration-guide",slug:"/guides/configuration-guide/ceph",permalink:"/docs/guides/configuration-guide/ceph",draft:!1,unlisted:!1,editUrl:"https://github.com/osism/osism.github.io/tree/main/docs/guides/configuration-guide/ceph.md",tags:[],version:"current",sidebarPosition:40,frontMatter:{sidebar_label:"Ceph",sidebar_position:40},sidebar:"tutorialSidebar",previous:{title:"Services",permalink:"/docs/guides/configuration-guide/services/"},next:{title:"OpenStack",permalink:"/docs/guides/configuration-guide/openstack/"}},a={},o=[{value:"Unique Identifier",id:"unique-identifier",level:2},{value:"Client",id:"client",level:2},{value:"Swappiness",id:"swappiness",level:2},{value:"RGW service",id:"rgw-service",level:2},{value:"Extra pools",id:"extra-pools",level:2},{value:"Devices",id:"devices",level:2},{value:"Dedicated DB devices",id:"dedicated-db-devices",level:3},{value:"Dedicated WAL devices",id:"dedicated-wal-devices",level:3},{value:"Shared DB & WAL devices",id:"shared-db--wal-devices",level:3},{value:"OSD devices",id:"osd-devices",level:3},{value:"Preparation",id:"preparation",level:3}];function l(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"ceph",children:"Ceph"}),"\n",(0,s.jsx)(n.h2,{id:"unique-identifier",children:"Unique Identifier"}),"\n",(0,s.jsxs)(n.p,{children:["The File System ID is a unique identifier for the cluster.\nThe identifier is set via the parameter ",(0,s.jsx)(n.code,{children:"fsid"})," in ",(0,s.jsx)(n.code,{children:"environments/ceph/configuration.yml"}),"\nand must be unique. It can be generated with ",(0,s.jsx)(n.code,{children:"uuidgen"}),"."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="environments/ceph/configuration.yml"',children:"fsid: c2120a4a-669c-4769-a32c-b7e9d7b848f4\n"})}),"\n",(0,s.jsx)(n.h2,{id:"client",children:"Client"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"client.admin"})," keyring is placed in the file ",(0,s.jsx)(n.code,{children:"environments/infrastructure/files/ceph/ceph.client.admin.keyring"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"swappiness",children:"Swappiness"}),"\n",(0,s.jsxs)(n.p,{children:["The swappiness is set via the ",(0,s.jsx)(n.code,{children:"os_tuning_params"})," dictionary. The dictionary can\nonly be completely overwritten via an entry in the file ",(0,s.jsx)(n.code,{children:"environments/ceph/configuration.yml"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"By default, the dictionary looks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:'os_tuning_params:\n - { name: fs.file-max, value: 26234859 }\n - { name: vm.zone_reclaim_mode, value: 0 }\n - { name: vm.swappiness, value: 10 }\n - { name: vm.min_free_kbytes, value: "{{ vm_min_free_kbytes }}" }\n'})}),"\n",(0,s.jsxs)(n.p,{children:["The sysctl paremeters are written to the file ",(0,s.jsx)(n.code,{children:"/etc/sysctl.d/ceph-tuning.conf"}),"\non the storage nodes."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"# cat /etc/sysctl.d/ceph-tuning.conf\nfs.aio-max-nr=1048576\nfs.file-max=26234859\nvm.zone_reclaim_mode=0\nvm.swappiness=10\nvm.min_free_kbytes=4194303\n"})}),"\n",(0,s.jsx)(n.h2,{id:"rgw-service",children:"RGW service"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Add following configuration in ",(0,s.jsx)(n.code,{children:"environments/ceph/configuration.yml"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:'ceph_conf_overrides:\n "client.rgw.{{ hostvars[inventory_hostname][\'ansible_hostname\'] }}.rgw0":\n "rgw content length compat": "true"\n "rgw enable apis": "swift, s3, admin"\n "rgw keystone accepted roles": "member, admin"\n "rgw keystone accepted admin roles": "admin"\n "rgw keystone admin domain": "default"\n "rgw keystone admin password": "{{ ceph_rgw_keystone_password }}"\n "rgw keystone admin project": "service"\n "rgw keystone admin tenant": "service"\n "rgw keystone admin user": "ceph_rgw"\n "rgw keystone api version": "3"\n "rgw keystone url": "https://api-int.testbed.osism.xyz:5000"\n "rgw keystone verify ssl": "false"\n "rgw keystone implicit tenants": "true"\n "rgw s3 auth use keystone": "true"\n "rgw swift account in url": "true"\n "rgw swift versioning enabled": "true"\n'})}),"\n",(0,s.jsxs)(n.p,{children:["If the ",(0,s.jsx)(n.code,{children:"ceph_conf_overrides"})," parameter already exists in ",(0,s.jsx)(n.code,{children:"environments/ceph/configuration.yml"}),",\nexpand it and do not overwrite it."]}),"\n",(0,s.jsx)(n.p,{children:"If self-signed SSL certificates are used, two additional parameters must be set."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:' "rgw keystone verify ssl": "false"\n "rgw verify ssl": "false"\n'})}),"\n",(0,s.jsxs)(n.p,{children:["For all possible configuration parameters visit the\n",(0,s.jsx)(n.a,{href:"https://docs.ceph.com/en/quincy/radosgw/config-ref/",children:"Ceph configuration reference"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Add the ",(0,s.jsx)(n.code,{children:"ceph_rgw_keystone_password"})," from ",(0,s.jsx)(n.code,{children:"environments/kolla/secrets.yml"})," to\n",(0,s.jsx)(n.code,{children:"environments/ceph/secrets.yml"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Add following configuration in ",(0,s.jsx)(n.code,{children:"environments/kolla/configuration.yml"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"enable_ceph_rgw: true\nenable_ceph_rgw_keystone: true\n\nceph_rgw_swift_compatibility: false\nceph_rgw_swift_account_in_url: true\n"})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"extra-pools",children:"Extra pools"}),"\n",(0,s.jsxs)(n.p,{children:["Extra pools can be defined via the ",(0,s.jsx)(n.code,{children:"openstack_pools_extra"})," parameter."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="inventory/group_vars/generic/ceph.yml"',children:'openstack_cinder_extra001_pool:\n name: extra001\n pg_num: "{{ openstack_pool_default_pg_num }}"\n pgp_num: "{{ openstack_pool_default_pg_num }}"\n rule_name: "replicated_rule"\n min_size: "{{ openstack_pool_default_min_size }}"\n application: "rbd"\n\nopenstack_pools_extra:\n - "{{ openstack_cinder_extra001_pool }}"\n'})}),"\n",(0,s.jsxs)(n.p,{children:["If more than one Ceph cluster is managed with one manager, do not place the\nparameters in ",(0,s.jsx)(n.code,{children:"inventory/group_vars/generic"})," but in a corresponding directory."]}),"\n",(0,s.jsxs)(n.p,{children:["If, for example, the inventory group of the Ceph cluster on which the additional\npools are to be created is ",(0,s.jsx)(n.code,{children:"ceph.rbd"}),", then the parameters would be stored in\n",(0,s.jsx)(n.code,{children:"inventory/group_vars/ceph.rbd.yml"})," accordingly."]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Default value"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"openstack_pool_default_pg_num"}),(0,s.jsx)(n.td,{children:"64"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"openstack_pool_default_min_size"}),(0,s.jsx)(n.td,{children:"0"})]})]})]}),"\n",(0,s.jsx)(n.h2,{id:"devices",children:"Devices"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"ceph_osd_db_wal_devices_buffer_space_percent: 10\n"})}),"\n",(0,s.jsx)(n.h3,{id:"dedicated-db-devices",children:"Dedicated DB devices"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:'ceph_db_devices:\n nvme0n1: # required, PV for a DB VG\n # Will be prefixed by /dev/ and can also be specified\n # like "by-path/foo" or other things under /dev/\n num_osds: 6 # required, number of OSDs that shall be\n # maximum deployed to this device\n db_size: 30 GB # optional, if not set, defaults to\n # (VG size - buffer space (if enabled)) / num_osds\n'})}),"\n",(0,s.jsx)(n.h3,{id:"dedicated-wal-devices",children:"Dedicated WAL devices"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"ceph_wal_devices:\n nvme1n1: # See above, PV for a WAL VG\n num_osds: 6 # See above\n wal_size: 2 GB # optional, if not set, defaults to 2 GiB\n"})}),"\n",(0,s.jsx)(n.h3,{id:"shared-db--wal-devices",children:"Shared DB & WAL devices"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"ceph_db_wal_devices:\n nvme2n1: # See above, PV for combined WAL+DB VG\n num_osds: 3 # See above\n db_size: 30 GB # See above, except that it also considers\n # total WAL size when calculating LV sizes\n wal_size: 2 GB # See above\n"})}),"\n",(0,s.jsx)(n.h3,{id:"osd-devices",children:"OSD devices"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:'ceph_osd_devices:\n sda: # Device name, will be prefixed by /dev/, see above conventions\n # This would create a "block only" OSD without DB/WAL\n'})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"ceph_osd_devices:\n sda: # Create an OSD with dedicated DB\n db_pv: nvme0n1 # Must be one device configured in ceph_db_devices\n # or ceph_db_wal_devices\n"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"ceph_osd_devices:\n sda: # Create an OSD with dedicated WAL\n wal_pv: nvme1n1 # Must be one device configured in ceph_wal_devices\n # or ceph_db_wal_devices\n\n```yaml\nceph_osd_devices:\n sda: # Create an OSD with dedicated DB/WAL residing on different devices\n db_pv: nvme0n1 # See above\n wal_pv: nvme1n1 # See above\n\n```yaml\nceph_osd_devices:\n sda: # Create an OSD with dedicated DB/WAL residing on the same VG/PV\n db_pv: nvme2n1 # Must be one device configured in ceph_db_wal_devices\n wal_pv: nvme2n1 # Must be the same device configured in ceph_db_wal_devices\n"})}),"\n",(0,s.jsx)(n.h3,{id:"preparation",children:"Preparation"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Provide config stanza like above either in ",(0,s.jsx)(n.code,{children:"group_vars"})," or ",(0,s.jsx)(n.code,{children:"host_vars"}),"\nin the inventory of the configuration repository"]}),"\n",(0,s.jsxs)(n.li,{children:["Do ",(0,s.jsx)(n.code,{children:"osism reconciler sync"})," and ",(0,s.jsx)(n.code,{children:"osism apply facts"})]}),"\n",(0,s.jsxs)(n.li,{children:["Run the configuration playbook for the hosts you wish to configure:\n",(0,s.jsx)(n.code,{children:"osism apply ceph-configure-lvm-volumes -e ireallymeanit=yes"})]}),"\n",(0,s.jsxs)(n.li,{children:["The configuration generated for the hosts can be found on the\nmanager node of your setup in\n",(0,s.jsx)(n.code,{children:"/tmp/-ceph-lvm-configuration.yml"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add this configuration to your ",(0,s.jsx)(n.code,{children:"host_vars"})," for the nodes (see step 2)"]}),"\n",(0,s.jsxs)(n.li,{children:["Notice that the old config stanza has been expanded with UUIDs,\nif you use group_vars for config stanza, you should leave the group_vars\nuntouched and integrate the entire generated configuration into ",(0,s.jsx)(n.code,{children:"host_vars"}),"\nfor the nodes, as UUIDs are generated ",(0,s.jsx)(n.em,{children:"for each host"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["After making sure that configuration is okay and synced and applied,\nyou can run the ",(0,s.jsx)(n.code,{children:"ceph-create-lvm-devices"})," playbook:\n",(0,s.jsx)(n.code,{children:"osism apply ceph-create-lvm-devices -e ireallymeanit=yes"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>t,a:()=>c});var s=i(7294);const r={},d=s.createContext(r);function c(e){const n=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(d.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/8352bc95.ccefae85.js b/assets/js/8352bc95.ccefae85.js
deleted file mode 100644
index a47e82cfe1..0000000000
--- a/assets/js/8352bc95.ccefae85.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkosism=self.webpackChunkosism||[]).push([[3980],{2417:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>t,metadata:()=>c,toc:()=>d});var s=i(5893),r=i(1151);const t={sidebar_label:"Ceph",sidebar_position:40},o="Ceph",c={id:"guides/configuration-guide/ceph",title:"Ceph",description:"Unique Identifier",source:"@site/docs/guides/configuration-guide/ceph.md",sourceDirName:"guides/configuration-guide",slug:"/guides/configuration-guide/ceph",permalink:"/docs/guides/configuration-guide/ceph",draft:!1,unlisted:!1,editUrl:"https://github.com/osism/osism.github.io/tree/main/docs/guides/configuration-guide/ceph.md",tags:[],version:"current",sidebarPosition:40,frontMatter:{sidebar_label:"Ceph",sidebar_position:40},sidebar:"tutorialSidebar",previous:{title:"Services",permalink:"/docs/guides/configuration-guide/services/"},next:{title:"OpenStack",permalink:"/docs/guides/configuration-guide/openstack/"}},a={},d=[{value:"Unique Identifier",id:"unique-identifier",level:2},{value:"Client",id:"client",level:2},{value:"Swappiness",id:"swappiness",level:2},{value:"RGW service",id:"rgw-service",level:2},{value:"Extra pools",id:"extra-pools",level:2},{value:"OSD Devices",id:"osd-devices",level:2}];function l(e){const n={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"ceph",children:"Ceph"}),"\n",(0,s.jsx)(n.h2,{id:"unique-identifier",children:"Unique Identifier"}),"\n",(0,s.jsxs)(n.p,{children:["The File System ID is a unique identifier for the cluster.\nThe identifier is set via the parameter ",(0,s.jsx)(n.code,{children:"fsid"})," in ",(0,s.jsx)(n.code,{children:"environments/ceph/configuration.yml"}),"\nand must be unique. It can be generated with ",(0,s.jsx)(n.code,{children:"uuidgen"}),"."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="environments/ceph/configuration.yml"',children:"fsid: c2120a4a-669c-4769-a32c-b7e9d7b848f4\n"})}),"\n",(0,s.jsx)(n.h2,{id:"client",children:"Client"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"client.admin"})," keyring is placed in the file ",(0,s.jsx)(n.code,{children:"environments/infrastructure/files/ceph/ceph.client.admin.keyring"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"swappiness",children:"Swappiness"}),"\n",(0,s.jsxs)(n.p,{children:["The swappiness is set via the ",(0,s.jsx)(n.code,{children:"os_tuning_params"})," dictionary. The dictionary can\nonly be completely overwritten via an entry in the file ",(0,s.jsx)(n.code,{children:"environments/ceph/configuration.yml"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"By default, the dictionary looks like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:'os_tuning_params:\n - { name: fs.file-max, value: 26234859 }\n - { name: vm.zone_reclaim_mode, value: 0 }\n - { name: vm.swappiness, value: 10 }\n - { name: vm.min_free_kbytes, value: "{{ vm_min_free_kbytes }}" }\n'})}),"\n",(0,s.jsxs)(n.p,{children:["The sysctl paremeters are written to the file ",(0,s.jsx)(n.code,{children:"/etc/sysctl.d/ceph-tuning.conf"}),"\non the storage nodes."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:"# cat /etc/sysctl.d/ceph-tuning.conf\nfs.aio-max-nr=1048576\nfs.file-max=26234859\nvm.zone_reclaim_mode=0\nvm.swappiness=10\nvm.min_free_kbytes=4194303\n"})}),"\n",(0,s.jsx)(n.h2,{id:"rgw-service",children:"RGW service"}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Add following configuration in ",(0,s.jsx)(n.code,{children:"environments/ceph/configuration.yml"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:'ceph_conf_overrides:\n "client.rgw.{{ hostvars[inventory_hostname][\'ansible_hostname\'] }}.rgw0":\n "rgw content length compat": "true"\n "rgw enable apis": "swift, s3, admin"\n "rgw keystone accepted roles": "member, admin"\n "rgw keystone accepted admin roles": "admin"\n "rgw keystone admin domain": "default"\n "rgw keystone admin password": "{{ ceph_rgw_keystone_password }}"\n "rgw keystone admin project": "service"\n "rgw keystone admin tenant": "service"\n "rgw keystone admin user": "ceph_rgw"\n "rgw keystone api version": "3"\n "rgw keystone url": "https://api-int.testbed.osism.xyz:5000"\n "rgw keystone verify ssl": "false"\n "rgw keystone implicit tenants": "true"\n "rgw s3 auth use keystone": "true"\n "rgw swift account in url": "true"\n "rgw swift versioning enabled": "true"\n'})}),"\n",(0,s.jsxs)(n.p,{children:["If the ",(0,s.jsx)(n.code,{children:"ceph_conf_overrides"})," parameter already exists in ",(0,s.jsx)(n.code,{children:"environments/ceph/configuration.yml"}),",\nexpand it and do not overwrite it."]}),"\n",(0,s.jsx)(n.p,{children:"If self-signed SSL certificates are used, two additional parameters must be set."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{children:' "rgw keystone verify ssl": "false"\n "rgw verify ssl": "false"\n'})}),"\n",(0,s.jsxs)(n.p,{children:["For all possible configuration parameters visit the\n",(0,s.jsx)(n.a,{href:"https://docs.ceph.com/en/quincy/radosgw/config-ref/",children:"Ceph configuration reference"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Add the ",(0,s.jsx)(n.code,{children:"ceph_rgw_keystone_password"})," from ",(0,s.jsx)(n.code,{children:"environments/kolla/secrets.yml"})," to\n",(0,s.jsx)(n.code,{children:"environments/ceph/secrets.yml"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Add following configuration in ",(0,s.jsx)(n.code,{children:"environments/kolla/configuration.yml"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"enable_ceph_rgw: true\nenable_ceph_rgw_keystone: true\n\nceph_rgw_swift_compatibility: false\nceph_rgw_swift_account_in_url: true\n"})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"extra-pools",children:"Extra pools"}),"\n",(0,s.jsxs)(n.p,{children:["Extra pools can be defined via the ",(0,s.jsx)(n.code,{children:"openstack_pools_extra"})," parameter."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:'title="inventory/group_vars/generic/ceph.yml"',children:'openstack_cinder_extra001_pool:\n name: extra001\n pg_num: "{{ openstack_pool_default_pg_num }}"\n pgp_num: "{{ openstack_pool_default_pg_num }}"\n rule_name: "replicated_rule"\n min_size: "{{ openstack_pool_default_min_size }}"\n application: "rbd"\n\nopenstack_pools_extra:\n - "{{ openstack_cinder_extra001_pool }}"\n'})}),"\n",(0,s.jsxs)(n.p,{children:["If more than one Ceph cluster is managed with one manager, do not place the\nparameters in ",(0,s.jsx)(n.code,{children:"inventory/group_vars/generic"})," but in a corresponding directory."]}),"\n",(0,s.jsxs)(n.p,{children:["If, for example, the inventory group of the Ceph cluster on which the additional\npools are to be created is ",(0,s.jsx)(n.code,{children:"ceph.rbd"}),", then the parameters would be stored in\n",(0,s.jsx)(n.code,{children:"inventory/group_vars/ceph.rbd.yml"})," accordingly."]}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Parameter"}),(0,s.jsx)(n.th,{children:"Default value"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"openstack_pool_default_pg_num"}),(0,s.jsx)(n.td,{children:"64"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"openstack_pool_default_min_size"}),(0,s.jsx)(n.td,{children:"0"})]})]})]}),"\n",(0,s.jsx)(n.h2,{id:"osd-devices",children:"OSD Devices"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"ceph_osd_db_wal_devices_buffer_space_percent: 10\n"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:'ceph_db_devices:\n nvme0n1: # required, PV for a DB VG\n # Will be prefixed by /dev/ and can also be specified\n # like "by-path/foo" or other things under /dev/\n num_osds: 6 # required, number of OSDs that shall be\n # maximum deployed to this device\n db_size: 30 GB # optional, if not set, defaults to\n # (VG size - buffer space (if enabled)) / num_osds\n'})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"ceph_wal_devices:\n nvme1n1: # See above, PV for a WAL VG\n num_osds: 6 # See above\n wal_size: 2 GB # optional, if not set, defaults to 2 GiB\n"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:"ceph_db_wal_devices:\n nvme2n1: # See above, PV for combined WAL+DB VG\n num_osds: 3 # See above\n db_size: 30 GB # See above, except that it also considers\n # total WAL size when calculating LV sizes\n wal_size: 2 GB # See above\n"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",children:'ceph_osd_devices:\n sda: # Device name, will be prefixed by /dev/, see above conventions\n # This would create a "block only" OSD without DB/WAL\n sdb: # Create an OSD with dedicated DB\n db_pv: nvme0n1 # Must be one device configured in ceph_db_devices\n # or ceph_db_wal_devices\n sdc: # Create an OSD with dedicated WAL\n wal_pv: nvme1n1 # Must be one device configured in ceph_wal_devices\n # or ceph_db_wal_devices\n sdb: # Create an OSD with dedicated DB/WAL residing on different devices\n db_pv: nvme0n1 # See above\n wal_pv: nvme1n1 # See above\n sdc: # Create an OSD with dedicated DB/WAL residing on the same VG/PV\n db_pv: nvme2n1 # Must be one device configured in ceph_db_wal_devices\n wal_pv: nvme2n1 # Must be the same device configured in ceph_db_wal_devices\n'})}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["Provide config stanza like above either in ",(0,s.jsx)(n.code,{children:"group_vars"})," or ",(0,s.jsx)(n.code,{children:"host_vars"}),"\nin the inventory of the configuration repository"]}),"\n",(0,s.jsxs)(n.li,{children:["Do ",(0,s.jsx)(n.code,{children:"osism reconciler sync"})," and ",(0,s.jsx)(n.code,{children:"osism apply facts"})]}),"\n",(0,s.jsxs)(n.li,{children:["Run the configuration playbook for the hosts you wish to configure:\n",(0,s.jsx)(n.code,{children:"osism apply ceph-configure-lvm-volumes -e ireallymeanit=yes"})]}),"\n",(0,s.jsxs)(n.li,{children:["The configuration generated for the hosts can be found on the\nmanager node of your setup in\n",(0,s.jsx)(n.code,{children:"/tmp/-ceph-lvm-configuration.yml"})]}),"\n",(0,s.jsxs)(n.li,{children:["Add this configuration to your ",(0,s.jsx)(n.code,{children:"host_vars"})," for the nodes (see step 2)"]}),"\n",(0,s.jsxs)(n.li,{children:["Notice that the old config stanza has been expanded with UUIDs,\nif you use group_vars for config stanza, you should leave the group_vars\nuntouched and integrate the entire generated configuration into ",(0,s.jsx)(n.code,{children:"host_vars"}),"\nfor the nodes, as UUIDs are generated ",(0,s.jsx)(n.em,{children:"for each host"}),"."]}),"\n",(0,s.jsxs)(n.li,{children:["After making sure that configuration is okay and synced and applied,\nyou can run the ",(0,s.jsx)(n.code,{children:"ceph-create-lvm-devices"})," playbook:\n",(0,s.jsx)(n.code,{children:"osism apply ceph-create-lvm-devices -e ireallymeanit=yes"})]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>c,a:()=>o});var s=i(7294);const r={},t=s.createContext(r);function o(e){const n=s.useContext(t);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(t.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/runtime~main.b6669cd9.js b/assets/js/runtime~main.77e43b23.js
similarity index 99%
rename from assets/js/runtime~main.b6669cd9.js
rename to assets/js/runtime~main.77e43b23.js
index 4e6d8bb111..dbee9cb5dc 100644
--- a/assets/js/runtime~main.b6669cd9.js
+++ b/assets/js/runtime~main.77e43b23.js
@@ -1 +1 @@
-(()=>{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",110:"66406991",366:"d0f03c80",453:"30a24c52",533:"b2b675dd",609:"0658869c",770:"3f74a1dc",948:"8717b14a",1033:"3a24b32a",1100:"ccc45f31",1172:"7a4fffdf",1195:"e29aad9d",1336:"f3e1e4c4",1355:"d3108c07",1391:"6c11aa3a",1477:"b2f554cd",1511:"6a1f4bec",1518:"5bc03735",1574:"de57d45c",1628:"807e695f",1633:"031793e1",1713:"a7023ddc",1734:"2f914c76",1748:"8e5f32ed",1757:"3934058b",1914:"d9f32620",1943:"ae934d1a",2018:"c45d899e",2267:"59362658",2309:"0fd4c4b6",2362:"e273c56f",2535:"814f3328",2540:"88884f83",2681:"78b4ae99",2716:"04e17c9d",2753:"2b5b0fc4",2840:"29cf976d",2871:"d03241c9",3085:"1f391b9e",3089:"a6aa9e1f",3188:"e934a396",3205:"a80da1cf",3216:"6fb2b956",3394:"8da03187",3432:"ad26905b",3514:"73664a40",3608:"9e4087bc",3713:"1e80d022",3724:"596b1512",3980:"8352bc95",4013:"01a85c17",4022:"5845507f",4118:"59e4bf9a",4141:"f7ca8893",4195:"c4f5d8e4",4329:"dbbbc829",4368:"a94703ab",4488:"bed2b685",4689:"b4b93543",4744:"b798ea2b",4905:"7c2d5d83",4931:"762b083e",4983:"b614c3e5",5182:"43f3e48b",5322:"c78af355",5655:"08ca43f3",5826:"f7e4724a",5834:"096c7093",5846:"9c2dc5c0",5961:"fb66bc4c",6103:"ccc49370",6236:"02601e42",6299:"07d5b948",6315:"3eec1f83",6330:"dbe528c9",6378:"90342430",6454:"09ec98ee",6537:"db7ff767",6578:"3e117606",6641:"b68de40d",6876:"07742d97",6891:"0f52743c",6938:"608ae6a4",7155:"74b846e2",7162:"d589d3a7",7178:"096bfee4",7414:"393be207",7485:"49278f49",7632:"b88e2faf",7720:"31da1720",7918:"17896441",8019:"15cba8f7",8157:"e0698a94",8172:"f4c1e300",8187:"8ff7deab",8367:"09a97616",8461:"0884bdbc",8518:"a7bd4aaa",8521:"4632ab68",8527:"45fcaf07",8610:"6875c492",8636:"f4f34a3a",8730:"42bbc814",9003:"925b3f96",9035:"4c9e35b1",9174:"456706c7",9183:"326f19e1",9246:"c9821a2e",9372:"2c0b3ec5",9377:"fac2b365",9498:"a6659507",9588:"70acb529",9642:"7661071f",9654:"6f6bf91f",9661:"5e95c892",9700:"e16015ca"}[e]||e)+"."+{53:"3e812f90",110:"3b251721",366:"79a42e26",453:"a158a92f",533:"90afecae",609:"000fed42",770:"b6260afa",948:"5aad819f",1033:"f9db7261",1100:"da787644",1172:"7e20c030",1195:"85078301",1336:"a7763d65",1355:"4e8b2e64",1391:"42693d26",1477:"beaa1832",1511:"c59cf9f2",1518:"7e4acf4d",1574:"6fe9c73b",1628:"af41145b",1633:"ca83e151",1713:"4eea03b9",1734:"48f7f8a5",1748:"8feadc1d",1757:"067f4184",1772:"d11fac60",1914:"fb6fa8bc",1943:"accaf241",2018:"634c5327",2196:"2676aaef",2267:"2f157a04",2309:"7ba75290",2362:"42c3ebab",2535:"c38747f3",2540:"4793f9f6",2681:"6855b586",2716:"c38fe0a8",2753:"8ed829fe",2840:"b09370d0",2871:"5b1e7f48",3085:"9f3fe42d",3089:"7a509f3d",3188:"40917de9",3205:"c0c3e967",3216:"88eb4771",3394:"71b5824c",3432:"d4394313",3514:"310edf08",3608:"8f60ee35",3713:"7964af5d",3724:"dab3a8bd",3980:"ccefae85",4013:"d743222a",4022:"c58d485c",4118:"bda3bcd3",4141:"7570e8c8",4195:"129f1776",4329:"07773006",4368:"64e5d53d",4488:"ac881e55",4689:"5ee6109b",4744:"788aaf4b",4905:"5b298e5d",4931:"2cd763d2",4983:"6e7e1660",5182:"6ca40222",5322:"7ad83d1e",5655:"45762414",5826:"95977404",5834:"7b35c9d1",5846:"bbaa7d21",5961:"32adfdb5",6103:"618fab3b",6236:"798d71a1",6299:"1063dd42",6315:"65aad5b1",6330:"b2c3fe3e",6378:"c6c2e3da",6454:"cfe48152",6537:"abb7deee",6578:"bf628f1c",6641:"5061f32a",6876:"ac0b276c",6891:"f9bb505b",6938:"ceaf3ae1",7155:"7cf3aae1",7162:"f89e57dc",7178:"5ea2728c",7414:"c11fb6fe",7485:"3647e6fa",7632:"b97b2546",7720:"e5c4c542",7918:"20238007",8019:"1f43f06c",8157:"7d1f772a",8172:"a29c6c79",8187:"bf6ddd36",8367:"8916b6f2",8461:"407e37a2",8518:"89fe4821",8521:"1be78293",8527:"b43c09a6",8610:"bd442cd2",8636:"9bfb60db",8730:"b9aff477",9003:"65eec07f",9035:"004f5649",9174:"b25a763f",9183:"73d01a29",9246:"41010e1f",9372:"4a5ff16f",9377:"ad2dc31c",9498:"1016b4a7",9588:"9510824b",9642:"a3969797",9654:"fec9b4df",9661:"52c8da28",9677:"e1301640",9700:"0e006377"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="osism:",r.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",59362658:"2267",66406991:"110",90342430:"6378","935f2afb":"53",d0f03c80:"366","30a24c52":"453",b2b675dd:"533","0658869c":"609","3f74a1dc":"770","8717b14a":"948","3a24b32a":"1033",ccc45f31:"1100","7a4fffdf":"1172",e29aad9d:"1195",f3e1e4c4:"1336",d3108c07:"1355","6c11aa3a":"1391",b2f554cd:"1477","6a1f4bec":"1511","5bc03735":"1518",de57d45c:"1574","807e695f":"1628","031793e1":"1633",a7023ddc:"1713","2f914c76":"1734","8e5f32ed":"1748","3934058b":"1757",d9f32620:"1914",ae934d1a:"1943",c45d899e:"2018","0fd4c4b6":"2309",e273c56f:"2362","814f3328":"2535","88884f83":"2540","78b4ae99":"2681","04e17c9d":"2716","2b5b0fc4":"2753","29cf976d":"2840",d03241c9:"2871","1f391b9e":"3085",a6aa9e1f:"3089",e934a396:"3188",a80da1cf:"3205","6fb2b956":"3216","8da03187":"3394",ad26905b:"3432","73664a40":"3514","9e4087bc":"3608","1e80d022":"3713","596b1512":"3724","8352bc95":"3980","01a85c17":"4013","5845507f":"4022","59e4bf9a":"4118",f7ca8893:"4141",c4f5d8e4:"4195",dbbbc829:"4329",a94703ab:"4368",bed2b685:"4488",b4b93543:"4689",b798ea2b:"4744","7c2d5d83":"4905","762b083e":"4931",b614c3e5:"4983","43f3e48b":"5182",c78af355:"5322","08ca43f3":"5655",f7e4724a:"5826","096c7093":"5834","9c2dc5c0":"5846",fb66bc4c:"5961",ccc49370:"6103","02601e42":"6236","07d5b948":"6299","3eec1f83":"6315",dbe528c9:"6330","09ec98ee":"6454",db7ff767:"6537","3e117606":"6578",b68de40d:"6641","07742d97":"6876","0f52743c":"6891","608ae6a4":"6938","74b846e2":"7155",d589d3a7:"7162","096bfee4":"7178","393be207":"7414","49278f49":"7485",b88e2faf:"7632","31da1720":"7720","15cba8f7":"8019",e0698a94:"8157",f4c1e300:"8172","8ff7deab":"8187","09a97616":"8367","0884bdbc":"8461",a7bd4aaa:"8518","4632ab68":"8521","45fcaf07":"8527","6875c492":"8610",f4f34a3a:"8636","42bbc814":"8730","925b3f96":"9003","4c9e35b1":"9035","456706c7":"9174","326f19e1":"9183",c9821a2e:"9246","2c0b3ec5":"9372",fac2b365:"9377",a6659507:"9498","70acb529":"9588","7661071f":"9642","6f6bf91f":"9654","5e95c892":"9661",e16015ca:"9700"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);n{"use strict";var e,a,f,c,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,c,d)=>{if(!f){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[f,c,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",110:"66406991",366:"d0f03c80",453:"30a24c52",533:"b2b675dd",609:"0658869c",770:"3f74a1dc",948:"8717b14a",1033:"3a24b32a",1100:"ccc45f31",1172:"7a4fffdf",1195:"e29aad9d",1336:"f3e1e4c4",1355:"d3108c07",1391:"6c11aa3a",1477:"b2f554cd",1511:"6a1f4bec",1518:"5bc03735",1574:"de57d45c",1628:"807e695f",1633:"031793e1",1713:"a7023ddc",1734:"2f914c76",1748:"8e5f32ed",1757:"3934058b",1914:"d9f32620",1943:"ae934d1a",2018:"c45d899e",2267:"59362658",2309:"0fd4c4b6",2362:"e273c56f",2535:"814f3328",2540:"88884f83",2681:"78b4ae99",2716:"04e17c9d",2753:"2b5b0fc4",2840:"29cf976d",2871:"d03241c9",3085:"1f391b9e",3089:"a6aa9e1f",3188:"e934a396",3205:"a80da1cf",3216:"6fb2b956",3394:"8da03187",3432:"ad26905b",3514:"73664a40",3608:"9e4087bc",3713:"1e80d022",3724:"596b1512",3980:"8352bc95",4013:"01a85c17",4022:"5845507f",4118:"59e4bf9a",4141:"f7ca8893",4195:"c4f5d8e4",4329:"dbbbc829",4368:"a94703ab",4488:"bed2b685",4689:"b4b93543",4744:"b798ea2b",4905:"7c2d5d83",4931:"762b083e",4983:"b614c3e5",5182:"43f3e48b",5322:"c78af355",5655:"08ca43f3",5826:"f7e4724a",5834:"096c7093",5846:"9c2dc5c0",5961:"fb66bc4c",6103:"ccc49370",6236:"02601e42",6299:"07d5b948",6315:"3eec1f83",6330:"dbe528c9",6378:"90342430",6454:"09ec98ee",6537:"db7ff767",6578:"3e117606",6641:"b68de40d",6876:"07742d97",6891:"0f52743c",6938:"608ae6a4",7155:"74b846e2",7162:"d589d3a7",7178:"096bfee4",7414:"393be207",7485:"49278f49",7632:"b88e2faf",7720:"31da1720",7918:"17896441",8019:"15cba8f7",8157:"e0698a94",8172:"f4c1e300",8187:"8ff7deab",8367:"09a97616",8461:"0884bdbc",8518:"a7bd4aaa",8521:"4632ab68",8527:"45fcaf07",8610:"6875c492",8636:"f4f34a3a",8730:"42bbc814",9003:"925b3f96",9035:"4c9e35b1",9174:"456706c7",9183:"326f19e1",9246:"c9821a2e",9372:"2c0b3ec5",9377:"fac2b365",9498:"a6659507",9588:"70acb529",9642:"7661071f",9654:"6f6bf91f",9661:"5e95c892",9700:"e16015ca"}[e]||e)+"."+{53:"3e812f90",110:"3b251721",366:"79a42e26",453:"a158a92f",533:"90afecae",609:"000fed42",770:"b6260afa",948:"5aad819f",1033:"f9db7261",1100:"da787644",1172:"7e20c030",1195:"85078301",1336:"a7763d65",1355:"4e8b2e64",1391:"42693d26",1477:"beaa1832",1511:"c59cf9f2",1518:"7e4acf4d",1574:"6fe9c73b",1628:"af41145b",1633:"ca83e151",1713:"4eea03b9",1734:"48f7f8a5",1748:"8feadc1d",1757:"067f4184",1772:"d11fac60",1914:"fb6fa8bc",1943:"accaf241",2018:"634c5327",2196:"2676aaef",2267:"2f157a04",2309:"7ba75290",2362:"42c3ebab",2535:"c38747f3",2540:"4793f9f6",2681:"6855b586",2716:"c38fe0a8",2753:"8ed829fe",2840:"b09370d0",2871:"5b1e7f48",3085:"9f3fe42d",3089:"7a509f3d",3188:"40917de9",3205:"c0c3e967",3216:"88eb4771",3394:"71b5824c",3432:"d4394313",3514:"310edf08",3608:"8f60ee35",3713:"7964af5d",3724:"dab3a8bd",3980:"6d841257",4013:"d743222a",4022:"c58d485c",4118:"bda3bcd3",4141:"7570e8c8",4195:"129f1776",4329:"07773006",4368:"64e5d53d",4488:"ac881e55",4689:"5ee6109b",4744:"788aaf4b",4905:"5b298e5d",4931:"2cd763d2",4983:"6e7e1660",5182:"6ca40222",5322:"7ad83d1e",5655:"45762414",5826:"95977404",5834:"7b35c9d1",5846:"bbaa7d21",5961:"32adfdb5",6103:"618fab3b",6236:"798d71a1",6299:"1063dd42",6315:"65aad5b1",6330:"b2c3fe3e",6378:"c6c2e3da",6454:"cfe48152",6537:"abb7deee",6578:"bf628f1c",6641:"5061f32a",6876:"ac0b276c",6891:"f9bb505b",6938:"ceaf3ae1",7155:"7cf3aae1",7162:"f89e57dc",7178:"5ea2728c",7414:"c11fb6fe",7485:"3647e6fa",7632:"b97b2546",7720:"e5c4c542",7918:"20238007",8019:"1f43f06c",8157:"7d1f772a",8172:"a29c6c79",8187:"bf6ddd36",8367:"8916b6f2",8461:"407e37a2",8518:"89fe4821",8521:"1be78293",8527:"b43c09a6",8610:"bd442cd2",8636:"9bfb60db",8730:"b9aff477",9003:"65eec07f",9035:"004f5649",9174:"b25a763f",9183:"73d01a29",9246:"41010e1f",9372:"4a5ff16f",9377:"ad2dc31c",9498:"1016b4a7",9588:"9510824b",9642:"a3969797",9654:"fec9b4df",9661:"52c8da28",9677:"e1301640",9700:"0e006377"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},d="osism:",r.l=(e,a,f,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",59362658:"2267",66406991:"110",90342430:"6378","935f2afb":"53",d0f03c80:"366","30a24c52":"453",b2b675dd:"533","0658869c":"609","3f74a1dc":"770","8717b14a":"948","3a24b32a":"1033",ccc45f31:"1100","7a4fffdf":"1172",e29aad9d:"1195",f3e1e4c4:"1336",d3108c07:"1355","6c11aa3a":"1391",b2f554cd:"1477","6a1f4bec":"1511","5bc03735":"1518",de57d45c:"1574","807e695f":"1628","031793e1":"1633",a7023ddc:"1713","2f914c76":"1734","8e5f32ed":"1748","3934058b":"1757",d9f32620:"1914",ae934d1a:"1943",c45d899e:"2018","0fd4c4b6":"2309",e273c56f:"2362","814f3328":"2535","88884f83":"2540","78b4ae99":"2681","04e17c9d":"2716","2b5b0fc4":"2753","29cf976d":"2840",d03241c9:"2871","1f391b9e":"3085",a6aa9e1f:"3089",e934a396:"3188",a80da1cf:"3205","6fb2b956":"3216","8da03187":"3394",ad26905b:"3432","73664a40":"3514","9e4087bc":"3608","1e80d022":"3713","596b1512":"3724","8352bc95":"3980","01a85c17":"4013","5845507f":"4022","59e4bf9a":"4118",f7ca8893:"4141",c4f5d8e4:"4195",dbbbc829:"4329",a94703ab:"4368",bed2b685:"4488",b4b93543:"4689",b798ea2b:"4744","7c2d5d83":"4905","762b083e":"4931",b614c3e5:"4983","43f3e48b":"5182",c78af355:"5322","08ca43f3":"5655",f7e4724a:"5826","096c7093":"5834","9c2dc5c0":"5846",fb66bc4c:"5961",ccc49370:"6103","02601e42":"6236","07d5b948":"6299","3eec1f83":"6315",dbe528c9:"6330","09ec98ee":"6454",db7ff767:"6537","3e117606":"6578",b68de40d:"6641","07742d97":"6876","0f52743c":"6891","608ae6a4":"6938","74b846e2":"7155",d589d3a7:"7162","096bfee4":"7178","393be207":"7414","49278f49":"7485",b88e2faf:"7632","31da1720":"7720","15cba8f7":"8019",e0698a94:"8157",f4c1e300:"8172","8ff7deab":"8187","09a97616":"8367","0884bdbc":"8461",a7bd4aaa:"8518","4632ab68":"8521","45fcaf07":"8527","6875c492":"8610",f4f34a3a:"8636","42bbc814":"8730","925b3f96":"9003","4c9e35b1":"9035","456706c7":"9174","326f19e1":"9183",c9821a2e:"9246","2c0b3ec5":"9372",fac2b365:"9377",a6659507:"9498","70acb529":"9588","7661071f":"9642","6f6bf91f":"9654","5e95c892":"9661",e16015ca:"9700"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((f,d)=>c=e[a]=[f,d]));f.push(c[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var d=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,d,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(f);nArchive | OSISM
-
+
diff --git a/blog/first-blog-post/index.html b/blog/first-blog-post/index.html
index 902d9df3c0..a80f64ac8b 100644
--- a/blog/first-blog-post/index.html
+++ b/blog/first-blog-post/index.html
@@ -5,7 +5,7 @@
First Blog Post | OSISM
-
+
diff --git a/blog/index.html b/blog/index.html
index 85865a24e6..38477a3ce9 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -5,7 +5,7 @@
Blog | OSISM
-
+
diff --git a/blog/long-blog-post/index.html b/blog/long-blog-post/index.html
index c0dcd73dab..440a5e91d0 100644
--- a/blog/long-blog-post/index.html
+++ b/blog/long-blog-post/index.html
@@ -5,7 +5,7 @@
Long Blog Post | OSISM
-
+
diff --git a/blog/mdx-blog-post/index.html b/blog/mdx-blog-post/index.html
index fd04f3aca4..9b17869650 100644
--- a/blog/mdx-blog-post/index.html
+++ b/blog/mdx-blog-post/index.html
@@ -5,7 +5,7 @@
MDX Blog Post | OSISM
-
+
diff --git a/blog/tags/docusaurus/index.html b/blog/tags/docusaurus/index.html
index bf30cee66a..83c683e4c9 100644
--- a/blog/tags/docusaurus/index.html
+++ b/blog/tags/docusaurus/index.html
@@ -5,7 +5,7 @@
4 posts tagged with "docusaurus" | OSISM
-
+
diff --git a/blog/tags/facebook/index.html b/blog/tags/facebook/index.html
index f22e2a5e60..8160cfe267 100644
--- a/blog/tags/facebook/index.html
+++ b/blog/tags/facebook/index.html
@@ -5,7 +5,7 @@
One post tagged with "facebook" | OSISM
-
+
diff --git a/blog/tags/hello/index.html b/blog/tags/hello/index.html
index 50b591c394..cd789d5970 100644
--- a/blog/tags/hello/index.html
+++ b/blog/tags/hello/index.html
@@ -5,7 +5,7 @@
2 posts tagged with "hello" | OSISM
-
+
diff --git a/blog/tags/hola/index.html b/blog/tags/hola/index.html
index 9e6ceb72c7..d6d2cfec82 100644
--- a/blog/tags/hola/index.html
+++ b/blog/tags/hola/index.html
@@ -5,7 +5,7 @@
One post tagged with "hola" | OSISM
-
+
diff --git a/blog/tags/index.html b/blog/tags/index.html
index fd131aa265..e57de0a633 100644
--- a/blog/tags/index.html
+++ b/blog/tags/index.html
@@ -5,7 +5,7 @@
Tags | OSISM
-
+
diff --git a/blog/welcome/index.html b/blog/welcome/index.html
index 621c3c2ccd..5f6a7365fa 100644
--- a/blog/welcome/index.html
+++ b/blog/welcome/index.html
@@ -5,7 +5,7 @@
Welcome | OSISM
-
+
diff --git a/docs/appendix/glossary/index.html b/docs/appendix/glossary/index.html
index 6731ddad90..4eb22f23ea 100644
--- a/docs/appendix/glossary/index.html
+++ b/docs/appendix/glossary/index.html
@@ -5,7 +5,7 @@
Glossary | OSISM
-
+
diff --git a/docs/appendix/index.html b/docs/appendix/index.html
index dcbe78b1f3..27adfdcaae 100644
--- a/docs/appendix/index.html
+++ b/docs/appendix/index.html
@@ -5,7 +5,7 @@
Appendix | OSISM
-
+
diff --git a/docs/appendix/standards/index.html b/docs/appendix/standards/index.html
index 41ceeb86e7..a40e371bcc 100644
--- a/docs/appendix/standards/index.html
+++ b/docs/appendix/standards/index.html
@@ -5,7 +5,7 @@
Standards | OSISM
-
+
diff --git a/docs/getting-started/index.html b/docs/getting-started/index.html
index d96d61327c..cca73ffcf7 100644
--- a/docs/getting-started/index.html
+++ b/docs/getting-started/index.html
@@ -5,7 +5,7 @@
Getting Started | OSISM
-
+
diff --git a/docs/guides/configuration-guide/ceph/index.html b/docs/guides/configuration-guide/ceph/index.html
index 90bb09520d..8a584bd4d3 100644
--- a/docs/guides/configuration-guide/ceph/index.html
+++ b/docs/guides/configuration-guide/ceph/index.html
@@ -5,7 +5,7 @@
Ceph | OSISM
-
+
@@ -55,12 +55,19 @@
ceph_db_devices: nvme0n1:# required, PV for a DB VG # Will be prefixed by /dev/ and can also be specified # like "by-path/foo" or other things under /dev/ num_osds:6# required, number of OSDs that shall be # maximum deployed to this device db_size: 30 GB # optional, if not set, defaults to # (VG size - buffer space (if enabled)) / num_osds
ceph_db_wal_devices: nvme2n1:# See above, PV for combined WAL+DB VG num_osds:3# See above db_size: 30 GB # See above, except that it also considers # total WAL size when calculating LV sizes wal_size: 2 GB # See above
-
ceph_osd_devices: sda:# Device name, will be prefixed by /dev/, see above conventions # This would create a "block only" OSD without DB/WAL sdb:# Create an OSD with dedicated DB db_pv: nvme0n1 # Must be one device configured in ceph_db_devices # or ceph_db_wal_devices sdc:# Create an OSD with dedicated WAL wal_pv: nvme1n1 # Must be one device configured in ceph_wal_devices # or ceph_db_wal_devices sdb:# Create an OSD with dedicated DB/WAL residing on different devices db_pv: nvme0n1 # See above wal_pv: nvme1n1 # See above sdc:# Create an OSD with dedicated DB/WAL residing on the same VG/PV db_pv: nvme2n1 # Must be one device configured in ceph_db_wal_devices wal_pv: nvme2n1 # Must be the same device configured in ceph_db_wal_devices
ceph_osd_devices: sda:# Device name, will be prefixed by /dev/, see above conventions # This would create a "block only" OSD without DB/WAL
+
ceph_osd_devices: sda:# Create an OSD with dedicated DB db_pv: nvme0n1 # Must be one device configured in ceph_db_devices # or ceph_db_wal_devices
+
ceph_osd_devices: sda:# Create an OSD with dedicated WAL wal_pv: nvme1n1 # Must be one device configured in ceph_wal_devices # or ceph_db_wal_devices ```yaml ceph_osd_devices: sda:# Create an OSD with dedicated DB/WAL residing on different devices db_pv: nvme0n1 # See above wal_pv: nvme1n1 # See above ```yaml ceph_osd_devices: sda:# Create an OSD with dedicated DB/WAL residing on the same VG/PV db_pv: nvme2n1 # Must be one device configured in ceph_db_wal_devices wal_pv: nvme2n1 # Must be the same device configured in ceph_db_wal_devices