CEPH ನೊಂದಿಗೆ ಅನುಭವ

ಒಂದು ಡಿಸ್ಕ್‌ನಲ್ಲಿ ಸರಿಹೊಂದುವುದಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಡೇಟಾ ಇದ್ದಾಗ, RAID ಕುರಿತು ಯೋಚಿಸುವ ಸಮಯ. ಬಾಲ್ಯದಲ್ಲಿ, ನನ್ನ ಹಿರಿಯರಿಂದ ನಾನು ಆಗಾಗ್ಗೆ ಕೇಳುತ್ತಿದ್ದೆ: “ಒಂದು ದಿನ RAID ಹಿಂದಿನ ವಿಷಯವಾಗುತ್ತದೆ, ವಸ್ತು ಸಂಗ್ರಹಣೆಯು ಜಗತ್ತನ್ನು ಮುಳುಗಿಸುತ್ತದೆ ಮತ್ತು CEPH ಎಂದರೇನು ಎಂದು ನಿಮಗೆ ತಿಳಿದಿಲ್ಲ,” ಆದ್ದರಿಂದ ಸ್ವತಂತ್ರ ಜೀವನದಲ್ಲಿ ಮೊದಲ ವಿಷಯ ನಿಮ್ಮ ಸ್ವಂತ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ರಚಿಸುತ್ತಿದೆ. ಪ್ರಯೋಗದ ಉದ್ದೇಶವು ceph ನ ಆಂತರಿಕ ರಚನೆಯೊಂದಿಗೆ ಪರಿಚಯ ಮಾಡಿಕೊಳ್ಳುವುದು ಮತ್ತು ಅದರ ಅನ್ವಯದ ವ್ಯಾಪ್ತಿಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು. ಮಧ್ಯಮ ವ್ಯವಹಾರದಲ್ಲಿ ಸೆಫ್ ಅನ್ನು ಪರಿಚಯಿಸುವುದು ಎಷ್ಟು ಸಮರ್ಥನೀಯವಾಗಿದೆ, ಆದರೆ ಸಣ್ಣದರಲ್ಲಿ? ಹಲವಾರು ವರ್ಷಗಳ ಕಾರ್ಯಾಚರಣೆ ಮತ್ತು ಒಂದೆರಡು ಬದಲಾಯಿಸಲಾಗದ ಡೇಟಾ ನಷ್ಟಗಳ ನಂತರ, ಎಲ್ಲವೂ ಅಷ್ಟು ಸುಲಭವಲ್ಲ ಎಂದು ಸೂಕ್ಷ್ಮತೆಗಳ ತಿಳುವಳಿಕೆ ಹುಟ್ಟಿಕೊಂಡಿತು. CEPH ನ ವೈಶಿಷ್ಟ್ಯಗಳು ಅದರ ವ್ಯಾಪಕ ವಿತರಣೆಗೆ ಅಡೆತಡೆಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತವೆ ಮತ್ತು ಅವುಗಳ ಕಾರಣದಿಂದಾಗಿ, ಪ್ರಯೋಗಗಳು ಸ್ಥಗಿತಗೊಂಡಿವೆ. ತೆಗೆದುಕೊಂಡ ಎಲ್ಲಾ ಹಂತಗಳ ವಿವರಣೆ, ಪಡೆದ ಫಲಿತಾಂಶ ಮತ್ತು ತೀರ್ಮಾನಗಳನ್ನು ಕೆಳಗೆ ನೀಡಲಾಗಿದೆ. ಜ್ಞಾನವುಳ್ಳ ಜನರು ತಮ್ಮ ಅನುಭವವನ್ನು ಹಂಚಿಕೊಂಡರೆ ಮತ್ತು ಕೆಲವು ಅಂಶಗಳನ್ನು ವಿವರಿಸಿದರೆ, ನಾನು ಕೃತಜ್ಞನಾಗಿದ್ದೇನೆ.

ಗಮನಿಸಿ: ವ್ಯಾಖ್ಯಾನಕಾರರು ಕೆಲವು ಊಹೆಗಳಲ್ಲಿ ಗಂಭೀರ ದೋಷಗಳನ್ನು ಸೂಚಿಸಿದ್ದಾರೆ, ಸಂಪೂರ್ಣ ಲೇಖನದ ಪರಿಷ್ಕರಣೆ ಅಗತ್ಯವಿದೆ.

CEPH ತಂತ್ರ

CEPH ಕ್ಲಸ್ಟರ್ ಅನಿಯಂತ್ರಿತ ಗಾತ್ರದ ಡಿಸ್ಕ್‌ಗಳ ಅನಿಯಂತ್ರಿತ ಸಂಖ್ಯೆ K ಅನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ ಮತ್ತು ಅವುಗಳ ಮೇಲೆ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಪ್ರತಿ ತುಣುಕನ್ನು (ಡೀಫಾಲ್ಟ್ ಆಗಿ 4 MB) ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆಯ N ಬಾರಿ ನಕಲು ಮಾಡುತ್ತದೆ.

ಎರಡು ಒಂದೇ ಡಿಸ್ಕ್ಗಳೊಂದಿಗೆ ಸರಳವಾದ ಪ್ರಕರಣವನ್ನು ಪರಿಗಣಿಸಿ. ನೀವು ಅವುಗಳಿಂದ RAID 1 ಅಥವಾ N=2 ನೊಂದಿಗೆ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಜೋಡಿಸಬಹುದು - ಫಲಿತಾಂಶವು ಒಂದೇ ಆಗಿರುತ್ತದೆ. ಮೂರು ಡಿಸ್ಕ್‌ಗಳಿದ್ದರೆ ಮತ್ತು ಅವು ವಿಭಿನ್ನ ಗಾತ್ರಗಳಲ್ಲಿದ್ದರೆ, N=2 ನೊಂದಿಗೆ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಜೋಡಿಸುವುದು ಸುಲಭ: ಕೆಲವು ಡೇಟಾವು ಡಿಸ್ಕ್ 1 ಮತ್ತು 2, ಕೆಲವು 1 ಮತ್ತು 3 ಮತ್ತು ಕೆಲವು 2 ಮತ್ತು 3 ನಲ್ಲಿ ಇರುತ್ತದೆ. , RAID ಇಲ್ಲದಿರುವಾಗ (ನೀವು ಅಂತಹ RAID ಅನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು, ಆದರೆ ಇದು ವಿಕೃತವಾಗಿದೆ). ಇನ್ನೂ ಹೆಚ್ಚಿನ ಡಿಸ್ಕ್ಗಳು ​​ಇದ್ದರೆ, ನಂತರ RAID 5 ಅನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಿದೆ, CEPH ಒಂದು ಅನಲಾಗ್ ಅನ್ನು ಹೊಂದಿದೆ - erasure_code, ಇದು ಡೆವಲಪರ್ಗಳ ಆರಂಭಿಕ ಪರಿಕಲ್ಪನೆಗಳನ್ನು ವಿರೋಧಿಸುತ್ತದೆ ಮತ್ತು ಆದ್ದರಿಂದ ಪರಿಗಣಿಸಲಾಗುವುದಿಲ್ಲ. RAID 5 ಕಡಿಮೆ ಸಂಖ್ಯೆಯ ಡಿಸ್ಕ್‌ಗಳಿವೆ ಮತ್ತು ಅವೆಲ್ಲವೂ ಉತ್ತಮ ಸ್ಥಿತಿಯಲ್ಲಿವೆ ಎಂದು ಊಹಿಸುತ್ತದೆ. ಒಂದು ವಿಫಲವಾದರೆ, ಉಳಿದವು ಡಿಸ್ಕ್ ಅನ್ನು ಬದಲಿಸುವವರೆಗೆ ಮತ್ತು ಡೇಟಾವನ್ನು ಮರುಸ್ಥಾಪಿಸುವವರೆಗೆ ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳಬೇಕು. CEPH, N>=3, ಹಳೆಯ ಡಿಸ್ಕ್‌ಗಳ ಬಳಕೆಯನ್ನು ಪ್ರೋತ್ಸಾಹಿಸುತ್ತದೆ, ನಿರ್ದಿಷ್ಟವಾಗಿ, ನೀವು ಡೇಟಾದ ಒಂದು ಪ್ರತಿಯನ್ನು ಸಂಗ್ರಹಿಸಲು ಹಲವಾರು ಉತ್ತಮ ಡಿಸ್ಕ್‌ಗಳನ್ನು ಇರಿಸಿದರೆ ಮತ್ತು ಉಳಿದ ಎರಡು ಅಥವಾ ಮೂರು ಪ್ರತಿಗಳನ್ನು ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಹಳೆಯ ಡಿಸ್ಕ್‌ಗಳಲ್ಲಿ ಸಂಗ್ರಹಿಸಿದರೆ, ನಂತರ ಮಾಹಿತಿ ಸುರಕ್ಷಿತವಾಗಿರುತ್ತದೆ, ಏಕೆಂದರೆ ಸದ್ಯಕ್ಕೆ ಹೊಸ ಡಿಸ್ಕ್‌ಗಳು ಜೀವಂತವಾಗಿವೆ - ಯಾವುದೇ ಸಮಸ್ಯೆಗಳಿಲ್ಲ, ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಒಂದು ಮುರಿದರೆ, ಐದು ವರ್ಷಗಳಿಗಿಂತ ಹೆಚ್ಚು ಸೇವಾ ಜೀವನವನ್ನು ಹೊಂದಿರುವ ಮೂರು ಡಿಸ್ಕ್‌ಗಳ ಏಕಕಾಲಿಕ ವೈಫಲ್ಯ, ಮೇಲಾಗಿ ವಿವಿಧ ಸರ್ವರ್‌ಗಳಿಂದ, ಅತ್ಯಂತ ಅಸಂಭವವಾಗಿದೆ ಘಟನೆ

ಪ್ರತಿಗಳ ವಿತರಣೆಯಲ್ಲಿ ಒಂದು ಸೂಕ್ಷ್ಮತೆ ಇದೆ. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಡೇಟಾವನ್ನು ಹೆಚ್ಚು (ಪ್ರತಿ ಡಿಸ್ಕ್ಗೆ ~ 100) PG ವಿತರಣಾ ಗುಂಪುಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ ಎಂದು ಊಹಿಸಲಾಗಿದೆ, ಪ್ರತಿಯೊಂದೂ ಕೆಲವು ಡಿಸ್ಕ್ಗಳಲ್ಲಿ ನಕಲು ಮಾಡಲ್ಪಟ್ಟಿದೆ. K=6, N=2 ಎಂದು ಭಾವಿಸೋಣ, ನಂತರ ಯಾವುದೇ ಎರಡು ಡಿಸ್ಕ್ ವಿಫಲವಾದರೆ, ಡೇಟಾ ಕಳೆದುಹೋಗುವುದು ಖಾತರಿಯಾಗಿದೆ, ಏಕೆಂದರೆ ಸಂಭವನೀಯತೆಯ ಸಿದ್ಧಾಂತದ ಪ್ರಕಾರ, ಈ ಎರಡು ಡಿಸ್ಕ್ಗಳಲ್ಲಿ ಕನಿಷ್ಠ ಒಂದು PG ಇರುತ್ತದೆ. ಮತ್ತು ಒಂದು ಗುಂಪಿನ ನಷ್ಟವು ಪೂಲ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಲಾಗುವುದಿಲ್ಲ. ಡಿಸ್ಕ್ಗಳನ್ನು ಮೂರು ಜೋಡಿಗಳಾಗಿ ವಿಂಗಡಿಸಿದರೆ ಮತ್ತು ಒಂದು ಜೋಡಿಯೊಳಗಿನ ಡಿಸ್ಕ್ಗಳಲ್ಲಿ ಮಾತ್ರ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಅನುಮತಿಸಿದರೆ, ಅಂತಹ ವಿತರಣೆಯು ಯಾವುದೇ ಒಂದು ಡಿಸ್ಕ್ನ ವೈಫಲ್ಯಕ್ಕೆ ಸಹ ನಿರೋಧಕವಾಗಿರುತ್ತದೆ, ಆದರೆ ಎರಡು ವಿಫಲವಾದರೆ, ಡೇಟಾ ನಷ್ಟದ ಸಂಭವನೀಯತೆ 100% ಅಲ್ಲ, ಆದರೆ ಕೇವಲ 3/15, ಮತ್ತು ವೈಫಲ್ಯದ ಸಂದರ್ಭದಲ್ಲಿ ಸಹ ಮೂರು ಡಿಸ್ಕ್ಗಳು ​​- ಕೇವಲ 12/20. ಆದ್ದರಿಂದ, ಡೇಟಾ ವಿತರಣೆಯಲ್ಲಿನ ಎಂಟ್ರೊಪಿ ದೋಷ ಸಹಿಷ್ಣುತೆಗೆ ಕೊಡುಗೆ ನೀಡುವುದಿಲ್ಲ. ಫೈಲ್ ಸರ್ವರ್‌ಗಾಗಿ, ಉಚಿತ RAM ಹೆಚ್ಚು ಸ್ಪಂದಿಸುವಿಕೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಪ್ರತಿ ನೋಡ್‌ನಲ್ಲಿ ಹೆಚ್ಚು ಮೆಮೊರಿ, ಮತ್ತು ಎಲ್ಲಾ ನೋಡ್‌ಗಳಲ್ಲಿ ಹೆಚ್ಚು ಮೆಮೊರಿ, ಅದು ವೇಗವಾಗಿರುತ್ತದೆ. ಇದು ನಿಸ್ಸಂದೇಹವಾಗಿ ಒಂದೇ ಸರ್ವರ್‌ನ ಮೇಲೆ ಕ್ಲಸ್ಟರ್‌ನ ಪ್ರಯೋಜನವಾಗಿದೆ ಮತ್ತು ಮೇಲಾಗಿ, ಹಾರ್ಡ್‌ವೇರ್ NAS, ಅಲ್ಲಿ ಬಹಳ ಕಡಿಮೆ ಪ್ರಮಾಣದ ಮೆಮೊರಿಯನ್ನು ನಿರ್ಮಿಸಲಾಗಿದೆ.

ಹತ್ತಾರು TB ಗಾಗಿ ವಿಶ್ವಾಸಾರ್ಹ ಶೇಖರಣಾ ವ್ಯವಸ್ಥೆಯನ್ನು ರಚಿಸಲು CEPH ಉತ್ತಮ ಮಾರ್ಗವಾಗಿದೆ ಎಂದು ಅದು ಅನುಸರಿಸುತ್ತದೆ, ಹಳತಾದ ಉಪಕರಣಗಳಿಂದ ಕನಿಷ್ಠ ಹೂಡಿಕೆಯೊಂದಿಗೆ ಸ್ಕೇಲಿಂಗ್ ಮಾಡುವ ಸಾಧ್ಯತೆಯಿದೆ (ಇಲ್ಲಿ, ಸಹಜವಾಗಿ, ವೆಚ್ಚಗಳು ಬೇಕಾಗುತ್ತವೆ, ಆದರೆ ವಾಣಿಜ್ಯ ಶೇಖರಣಾ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಹೋಲಿಸಿದರೆ ಚಿಕ್ಕದಾಗಿದೆ).

ಕ್ಲಸ್ಟರ್ ಅನುಷ್ಠಾನ

ಪ್ರಯೋಗಕ್ಕಾಗಿ, ನಾವು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ ಕಂಪ್ಯೂಟರ್ Intel DQ57TM + Intel core i3 540 + 16 GB RAM ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳೋಣ. ನಾವು ನಾಲ್ಕು 2 TB ಡಿಸ್ಕ್ಗಳನ್ನು RAID10 ನಂತೆ ಆಯೋಜಿಸುತ್ತೇವೆ, ಯಶಸ್ವಿ ಪರೀಕ್ಷೆಯ ನಂತರ ನಾವು ಎರಡನೇ ನೋಡ್ ಮತ್ತು ಅದೇ ಸಂಖ್ಯೆಯ ಡಿಸ್ಕ್ಗಳನ್ನು ಸೇರಿಸುತ್ತೇವೆ.

Linux ಅನ್ನು ಸ್ಥಾಪಿಸಿ. ವಿತರಣೆಯು ಗ್ರಾಹಕೀಯಗೊಳಿಸಬಹುದಾದ ಮತ್ತು ಸ್ಥಿರವಾಗಿರಬೇಕು. ಡೆಬಿಯನ್ ಮತ್ತು ಸೂಸ್ ಅವಶ್ಯಕತೆಗಳಿಗೆ ಸರಿಹೊಂದುತ್ತವೆ. ಸುಸ್ ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವ ಅನುಸ್ಥಾಪಕವನ್ನು ಹೊಂದಿದ್ದು ಅದು ಯಾವುದೇ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ; ದುರದೃಷ್ಟವಶಾತ್, ಸಿಸ್ಟಮ್ಗೆ ಹಾನಿಯಾಗದಂತೆ ಯಾವುದನ್ನು ಹೊರಹಾಕಬಹುದು ಎಂದು ನನಗೆ ಅರ್ಥವಾಗಲಿಲ್ಲ. ಡಿಬೂಟ್‌ಸ್ಟ್ರಾಪ್ ಬಸ್ಟರ್ ಮೂಲಕ ಡೆಬಿಯನ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ. ಮಿನ್-ಬೇಸ್ ಆಯ್ಕೆಯು ಡ್ರೈವರ್‌ಗಳನ್ನು ಹೊಂದಿರದ ಕೆಲಸ ಮಾಡದ ವ್ಯವಸ್ಥೆಯನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ. ಪೂರ್ಣ ಆವೃತ್ತಿಗೆ ಹೋಲಿಸಿದರೆ ಗಾತ್ರದಲ್ಲಿನ ವ್ಯತ್ಯಾಸವು ತಲೆಕೆಡಿಸಿಕೊಳ್ಳುವಷ್ಟು ದೊಡ್ಡದಲ್ಲ. ಕೆಲಸವನ್ನು ಭೌತಿಕ ಯಂತ್ರದಲ್ಲಿ ಮಾಡಲಾಗುತ್ತಿರುವುದರಿಂದ, ನಾನು ವರ್ಚುವಲ್ ಯಂತ್ರಗಳಂತೆಯೇ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್‌ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ. LVM ಅಥವಾ btrfs (ಅಥವಾ xfs, ಅಥವಾ zfs - ವ್ಯತ್ಯಾಸವು ಉತ್ತಮವಾಗಿಲ್ಲ) ಅಂತಹ ಅವಕಾಶವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಸ್ನ್ಯಾಪ್‌ಶಾಟ್‌ಗಳು LVM ನ ಫೋರ್ಟೆ ಅಲ್ಲ. btrfs ಅನ್ನು ಸ್ಥಾಪಿಸಿ. ಮತ್ತು ಬೂಟ್ಲೋಡರ್ MBR ನಲ್ಲಿದೆ. ನೀವು ಅದನ್ನು 50 MB ವಿಭಜನಾ ಟೇಬಲ್ ಪ್ರದೇಶಕ್ಕೆ ತಳ್ಳಿದಾಗ ಮತ್ತು ಸಿಸ್ಟಮ್‌ಗೆ ಎಲ್ಲಾ ಜಾಗವನ್ನು ನಿಯೋಜಿಸಿದಾಗ FAT ವಿಭಜನೆಯೊಂದಿಗೆ 1 MB ಡಿಸ್ಕ್ ಅನ್ನು ಮುಚ್ಚಿಹಾಕಲು ಯಾವುದೇ ಅರ್ಥವಿಲ್ಲ. ಇದು ಡಿಸ್ಕ್ನಲ್ಲಿ 700 MB ತೆಗೆದುಕೊಂಡಿತು. SUSE ನ ಮೂಲ ಸ್ಥಾಪನೆಯು ಎಷ್ಟು ಹೊಂದಿದೆ - ನನಗೆ ನೆನಪಿಲ್ಲ, ಸುಮಾರು 1.1 ಅಥವಾ 1.4 GB ಎಂದು ತೋರುತ್ತದೆ.

CEPH ಅನ್ನು ಸ್ಥಾಪಿಸಿ. ನಾವು ಡೆಬಿಯನ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಆವೃತ್ತಿ 12 ಅನ್ನು ನಿರ್ಲಕ್ಷಿಸುತ್ತೇವೆ ಮತ್ತು ಸೈಟ್ 15.2.3 ನಿಂದ ನೇರವಾಗಿ ಸಂಪರ್ಕಿಸುತ್ತೇವೆ. ಕೆಳಗಿನ ಎಚ್ಚರಿಕೆಗಳೊಂದಿಗೆ "CEPH ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಸ್ಥಾಪಿಸುವುದು" ವಿಭಾಗದಿಂದ ನಾವು ಸೂಚನೆಗಳನ್ನು ಅನುಸರಿಸುತ್ತೇವೆ:

  • ರೆಪೊಸಿಟರಿಯನ್ನು ಸಂಪರ್ಕಿಸುವ ಮೊದಲು, ನೀವು gnupg wget ca-ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಸ್ಥಾಪಿಸಬೇಕು
  • ರೆಪೊಸಿಟರಿಯನ್ನು ಸಂಪರ್ಕಿಸಿದ ನಂತರ, ಆದರೆ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಮೊದಲು, ಪ್ಯಾಕೇಜ್ ಸ್ಥಾಪನೆಯನ್ನು ಬಿಟ್ಟುಬಿಡಲಾಗಿದೆ: apt -y --no-install-recommends install ceph-common ceph-mon ceph-osd ceph-mds ceph-mgr
  • CEPH ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಸಮಯದಲ್ಲಿ, ಅಜ್ಞಾತ ಕಾರಣಗಳಿಗಾಗಿ, ಇದು lvm2 ಅನ್ನು ಸ್ಥಾಪಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. ತಾತ್ವಿಕವಾಗಿ, ಇದು ಕರುಣೆ ಅಲ್ಲ, ಆದರೆ ಅನುಸ್ಥಾಪನೆಯು ವಿಫಲಗೊಳ್ಳುತ್ತದೆ, ಆದ್ದರಿಂದ CEPH ಅನ್ನು ಸ್ಥಾಪಿಸುವುದಿಲ್ಲ.

    ಈ ಪ್ಯಾಚ್ ಸಹಾಯ ಮಾಡಿತು:

    cat << EOF >> /var/lib/dpkg/status
    Package: lvm2
    Status: install ok installed
    Priority: important
    Section: admin
    Installed-Size: 0
    Maintainer: Debian Adduser Developers <[email protected]>
    Architecture: all
    Multi-Arch: foreign
    Version: 113.118
    Description: No-install
    EOF
    

ಕ್ಲಸ್ಟರ್ ಅವಲೋಕನ

ceph-osd - ಡಿಸ್ಕ್ನಲ್ಲಿ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುವ ಜವಾಬ್ದಾರಿ. ಪ್ರತಿ ಡಿಸ್ಕ್‌ಗೆ, ವಸ್ತುಗಳನ್ನು ಓದಲು ಅಥವಾ ಬರೆಯಲು ವಿನಂತಿಗಳನ್ನು ಸ್ವೀಕರಿಸುವ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸುವ ನೆಟ್ವರ್ಕ್ ಸೇವೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ. ಡಿಸ್ಕ್ನಲ್ಲಿ ಎರಡು ವಿಭಾಗಗಳನ್ನು ರಚಿಸಲಾಗಿದೆ. ಅವುಗಳಲ್ಲಿ ಒಂದು ಕ್ಲಸ್ಟರ್, ಡಿಸ್ಕ್ ಸಂಖ್ಯೆ ಮತ್ತು ಕ್ಲಸ್ಟರ್ ಕೀಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿದೆ. ಡಿಸ್ಕ್ ಅನ್ನು ಸೇರಿಸುವಾಗ ಈ 1KB ಮಾಹಿತಿಯನ್ನು ಒಮ್ಮೆ ರಚಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಮತ್ತೆ ಬದಲಾಯಿಸುವುದನ್ನು ಗಮನಿಸಲಿಲ್ಲ. ಎರಡನೇ ವಿಭಾಗವು ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಹೊಂದಿಲ್ಲ ಮತ್ತು CEPH ಬೈನರಿ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ. ಹಿಂದಿನ ಆವೃತ್ತಿಗಳಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತ ಅನುಸ್ಥಾಪನೆಯು ಸೇವಾ ಮಾಹಿತಿಗಾಗಿ 100MB xfs ವಿಭಾಗವನ್ನು ರಚಿಸಿತು. ನಾನು ಡಿಸ್ಕ್ ಅನ್ನು MBR ಗೆ ಪರಿವರ್ತಿಸಿದೆ ಮತ್ತು 16MB ಅನ್ನು ಮಾತ್ರ ನಿಗದಿಪಡಿಸಿದೆ - ಸೇವೆಯು ದೂರು ನೀಡುವುದಿಲ್ಲ. ಸಮಸ್ಯೆಗಳಿಲ್ಲದೆ, xfs ಅನ್ನು ext ನೊಂದಿಗೆ ಬದಲಾಯಿಸಬಹುದೆಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ. ಈ ವಿಭಾಗವನ್ನು /var/lib/... ನಲ್ಲಿ ಆರೋಹಿಸಲಾಗಿದೆ, ಅಲ್ಲಿ ಸೇವೆಯು OSD ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಬೈನರಿ ಡೇಟಾ ಸಂಗ್ರಹವಾಗಿರುವ ಬ್ಲಾಕ್ ಸಾಧನಕ್ಕೆ ಲಿಂಕ್ ಅನ್ನು ಸಹ ಕಂಡುಕೊಳ್ಳುತ್ತದೆ. ಸೈದ್ಧಾಂತಿಕವಾಗಿ, ನೀವು ತಕ್ಷಣ ಸಹಾಯಕವನ್ನು / var / lib / ... ನಲ್ಲಿ ಇರಿಸಬಹುದು ಮತ್ತು ಡೇಟಾಕ್ಕಾಗಿ ಸಂಪೂರ್ಣ ಡಿಸ್ಕ್ ಅನ್ನು ನಿಯೋಜಿಸಬಹುದು. ceph-deploy ಮೂಲಕ OSD ಅನ್ನು ರಚಿಸುವಾಗ, /var/lib/... ನಲ್ಲಿ ವಿಭಾಗವನ್ನು ಆರೋಹಿಸಲು ನಿಯಮವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ರಚಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಬಯಸಿದ ಬ್ಲಾಕ್ ಸಾಧನವನ್ನು ಓದಲು ceph ಬಳಕೆದಾರರ ಹಕ್ಕುಗಳನ್ನು ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ. ಹಸ್ತಚಾಲಿತ ಅನುಸ್ಥಾಪನೆಯೊಂದಿಗೆ, ನೀವೇ ಇದನ್ನು ಮಾಡಬೇಕಾಗಿದೆ, ದಸ್ತಾವೇಜನ್ನು ಅದರ ಬಗ್ಗೆ ಹೇಳುವುದಿಲ್ಲ. osd ಮೆಮೊರಿ ಟಾರ್ಗೆಟ್ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಸೂಚಿಸಲು ಸಹ ಸಲಹೆ ನೀಡಲಾಗುತ್ತದೆ ಇದರಿಂದ ಸಾಕಷ್ಟು ಭೌತಿಕ ಮೆಮೊರಿ ಇರುತ್ತದೆ.

ceph-mds. ಕಡಿಮೆ ಮಟ್ಟದಲ್ಲಿ, CEPH ವಸ್ತು ಸಂಗ್ರಹಣೆಯಾಗಿದೆ. ಪ್ರತಿ 4MB ಬ್ಲಾಕ್ ಅನ್ನು ಆಬ್ಜೆಕ್ಟ್ ಆಗಿ ಉಳಿಸಲು ಬ್ಲಾಕ್ ಶೇಖರಣಾ ಸಾಮರ್ಥ್ಯವು ಕುದಿಯುತ್ತದೆ. ಫೈಲ್ ಸಂಗ್ರಹಣೆಯು ಅದೇ ತತ್ತ್ವದ ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಎರಡು ಪೂಲ್‌ಗಳನ್ನು ರಚಿಸಲಾಗಿದೆ: ಒಂದು ಮೆಟಾಡೇಟಾಕ್ಕಾಗಿ, ಇನ್ನೊಂದು ಡೇಟಾಕ್ಕಾಗಿ. ಅವುಗಳನ್ನು ಫೈಲ್ ಸಿಸ್ಟಮ್ ಆಗಿ ಸಂಯೋಜಿಸಲಾಗಿದೆ. ಈ ಕ್ಷಣದಲ್ಲಿ, ಕೆಲವು ರೀತಿಯ ದಾಖಲೆಯನ್ನು ರಚಿಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ ನೀವು ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಅಳಿಸಿದರೆ, ಆದರೆ ಎರಡೂ ಪೂಲ್ಗಳನ್ನು ಉಳಿಸಿದರೆ, ನಂತರ ನೀವು ಅದನ್ನು ಪುನಃಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಬ್ಲಾಕ್‌ಗಳಲ್ಲಿ ಫೈಲ್‌ಗಳನ್ನು ಹೊರತೆಗೆಯಲು ಒಂದು ಕಾರ್ಯವಿಧಾನವಿದೆ, ನಾನು ಅದನ್ನು ಪರೀಕ್ಷಿಸಿಲ್ಲ. ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ceph-mds ಸೇವೆಯು ಕಾರಣವಾಗಿದೆ. ಪ್ರತಿಯೊಂದು ಫೈಲ್ ಸಿಸ್ಟಮ್‌ಗೆ ಸೇವೆಯ ಪ್ರತ್ಯೇಕ ನಿದರ್ಶನದ ಅಗತ್ಯವಿದೆ. ಒಂದರಲ್ಲಿ ಹಲವಾರು ಫೈಲ್ ಸಿಸ್ಟಮ್‌ಗಳ ಹೋಲಿಕೆಯನ್ನು ರಚಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ "ಸೂಚ್ಯಂಕ" ಆಯ್ಕೆ ಇದೆ - ಸಹ ಪರೀಕ್ಷಿಸಲಾಗಿಲ್ಲ.

ceph-mon - ಈ ಸೇವೆಯು ಕ್ಲಸ್ಟರ್‌ನ ನಕ್ಷೆಯನ್ನು ಇರಿಸುತ್ತದೆ. ಇದು ಎಲ್ಲಾ OSD ಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿದೆ, OSD ಯಲ್ಲಿನ PG ವಿತರಣಾ ಅಲ್ಗಾರಿದಮ್, ಮತ್ತು, ಮುಖ್ಯವಾಗಿ, ಎಲ್ಲಾ ವಸ್ತುಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿ (ಈ ಕಾರ್ಯವಿಧಾನದ ವಿವರಗಳು ನನಗೆ ಸ್ಪಷ್ಟವಾಗಿಲ್ಲ: ಒಂದು /var/lib/ceph/mon/.../ ಇದೆ. store.db ಡೈರೆಕ್ಟರಿ, ಇದು ದೊಡ್ಡ ಫೈಲ್ ಅನ್ನು 26MB ಹೊಂದಿದೆ, ಮತ್ತು 105K ಆಬ್ಜೆಕ್ಟ್‌ಗಳ ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿ, ಇದು ಪ್ರತಿ ವಸ್ತುವಿಗೆ 256 ಬೈಟ್‌ಗಳಿಗಿಂತ ಸ್ವಲ್ಪ ಹೆಚ್ಚು ತಿರುಗುತ್ತದೆ - ಮಾನಿಟರ್ ಎಲ್ಲಾ ವಸ್ತುಗಳ ಪಟ್ಟಿಯನ್ನು ಮತ್ತು PG ಅನ್ನು ಇರಿಸುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ. ಅವರು ಸುಳ್ಳು ಹೇಳುತ್ತಾರೆ). ಈ ಡೈರೆಕ್ಟರಿಗೆ ಹಾನಿಯು ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಡೇಟಾದ ನಷ್ಟಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ. OSD ಪ್ರಕಾರ PG ಗಳು ಹೇಗೆ ನೆಲೆಗೊಂಡಿವೆ ಮತ್ತು PG ಪ್ರಕಾರ ವಸ್ತುಗಳು ಹೇಗೆ ನೆಲೆಗೊಂಡಿವೆ ಎಂಬುದನ್ನು CRUSH ತೋರಿಸುತ್ತದೆ - ಡೆವಲಪರ್‌ಗಳು ಈ ಪದವನ್ನು ಹೇಗೆ ತಪ್ಪಿಸಿದರೂ ಅವುಗಳನ್ನು ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಕೇಂದ್ರೀಯವಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಎಂದು ಇಲ್ಲಿಂದ ತೀರ್ಮಾನಿಸಲಾಯಿತು. ಪರಿಣಾಮವಾಗಿ, ಮೊದಲನೆಯದಾಗಿ, ನಾವು RO ಮೋಡ್‌ನಲ್ಲಿ ಫ್ಲ್ಯಾಷ್ ಡ್ರೈವ್‌ನಲ್ಲಿ ಸಿಸ್ಟಮ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಏಕೆಂದರೆ ಡೇಟಾಬೇಸ್ ಅನ್ನು ನಿರಂತರವಾಗಿ ಬರೆಯಲಾಗಿರುವುದರಿಂದ, ಇವುಗಳಿಗೆ ಹೆಚ್ಚುವರಿ ಡಿಸ್ಕ್ ಅಗತ್ಯವಿದೆ (1 GB ಗಿಂತ ಹೆಚ್ಚು), ಮತ್ತು ಎರಡನೆಯದಾಗಿ, ಅದನ್ನು ಹೊಂದಿರುವುದು ಅವಶ್ಯಕ ಈ ಆಧಾರವನ್ನು ನೈಜ-ಸಮಯದ ನಕಲು. ಹಲವಾರು ಮಾನಿಟರ್‌ಗಳಿದ್ದರೆ, ದೋಷ ಸಹಿಷ್ಣುತೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಒದಗಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ ಕೇವಲ ಒಂದು ಮಾನಿಟರ್, ಗರಿಷ್ಠ ಎರಡು. OSD ಡೇಟಾವನ್ನು ಆಧರಿಸಿ ಮಾನಿಟರ್ ಅನ್ನು ಮರುಸ್ಥಾಪಿಸಲು ಸೈದ್ಧಾಂತಿಕ ಕಾರ್ಯವಿಧಾನವಿದೆ, ನಾನು ವಿವಿಧ ಕಾರಣಗಳಿಗಾಗಿ ಅದನ್ನು ಮೂರು ಬಾರಿ ಆಶ್ರಯಿಸಿದೆ, ಮತ್ತು ಮೂರು ಬಾರಿ ಯಾವುದೇ ದೋಷ ಸಂದೇಶಗಳಿಲ್ಲ, ಹಾಗೆಯೇ ಡೇಟಾ ಕೂಡ. ದುರದೃಷ್ಟವಶಾತ್, ಈ ಕಾರ್ಯವಿಧಾನವು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ. ಒಂದೋ ನಾವು ಒಂದು ಚಿಕಣಿ OSD ವಿಭಾಗವನ್ನು ನಿರ್ವಹಿಸುತ್ತೇವೆ ಮತ್ತು ಡೇಟಾಬೇಸ್ ಅನ್ನು ಸಂಗ್ರಹಿಸಲು RAID ಅನ್ನು ಜೋಡಿಸುತ್ತೇವೆ, ಅದು ಬಹುಶಃ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಕೆಟ್ಟ ಪರಿಣಾಮವನ್ನು ಬೀರುತ್ತದೆ, ಅಥವಾ ನಾವು ಕನಿಷ್ಟ ಎರಡು ವಿಶ್ವಾಸಾರ್ಹ ಭೌತಿಕ ಮಾಧ್ಯಮವನ್ನು ನಿಯೋಜಿಸುತ್ತೇವೆ, ಮೇಲಾಗಿ USB, ಇದರಿಂದ ಪೋರ್ಟ್‌ಗಳು ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ.

rados-gw - S3 ಪ್ರೋಟೋಕಾಲ್ ಮತ್ತು ಮುಂತಾದವುಗಳನ್ನು ಬಳಸಿಕೊಂಡು ವಸ್ತು ಸಂಗ್ರಹಣೆಯನ್ನು ರಫ್ತು ಮಾಡುತ್ತದೆ. ಬಹಳಷ್ಟು ಪೂಲ್‌ಗಳನ್ನು ರಚಿಸುತ್ತದೆ, ಏಕೆ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿಲ್ಲ. ನಿಜವಾಗಿಯೂ ಪ್ರಯೋಗ ಮಾಡಲಿಲ್ಲ.

ceph-mgr - ಈ ಸೇವೆಯನ್ನು ಸ್ಥಾಪಿಸುವುದರಿಂದ ಹಲವಾರು ಮಾಡ್ಯೂಲ್‌ಗಳು ಪ್ರಾರಂಭವಾಗುತ್ತವೆ. ಅವುಗಳಲ್ಲಿ ಒಂದು ಅಂಗವಿಕಲವಲ್ಲದ ಆಟೋಸ್ಕೇಲ್ ಆಗಿದೆ. ಇದು ಸರಿಯಾದ ಸಂಖ್ಯೆಯ PG/OSD ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಶ್ರಮಿಸುತ್ತದೆ. ನೀವು ಅನುಪಾತವನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ನಿಯಂತ್ರಿಸಲು ಬಯಸಿದರೆ, ನೀವು ಪ್ರತಿ ಪೂಲ್‌ಗೆ ಸ್ಕೇಲಿಂಗ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು, ಆದರೆ ಈ ಸಂದರ್ಭದಲ್ಲಿ ಮಾಡ್ಯೂಲ್ 0 ರಿಂದ ವಿಭಜನೆಯಾಗುತ್ತದೆ ಮತ್ತು ಕ್ಲಸ್ಟರ್ ಸ್ಥಿತಿಯು ದೋಷವಾಗುತ್ತದೆ. ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಪೈಥಾನ್‌ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ, ಮತ್ತು ಅದರಲ್ಲಿ ಅಗತ್ಯವಾದ ಸಾಲನ್ನು ನೀವು ಕಾಮೆಂಟ್ ಮಾಡಿದರೆ, ಇದು ಅದರ ಸ್ಥಗಿತಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ. ವಿವರಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲು ತುಂಬಾ ಸೋಮಾರಿತನ.

ಬಳಸಿದ ಮೂಲಗಳ ಪಟ್ಟಿ:

CEPH ಅನುಸ್ಥಾಪನೆ
ಸಂಪೂರ್ಣ ಮಾನಿಟರ್ ವೈಫಲ್ಯದಿಂದ ಚೇತರಿಕೆ

ಸ್ಕ್ರಿಪ್ಟ್ ಪಟ್ಟಿಗಳು:

ಡಿಬೂಟ್‌ಸ್ಟ್ರ್ಯಾಪ್ ಮೂಲಕ ಸಿಸ್ಟಮ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವುದು

blkdev=sdb1
mkfs.btrfs -f /dev/$blkdev
mount /dev/$blkdev /mnt
cd /mnt
for i in {@,@var,@home}; do btrfs subvolume create $i; done
mkdir snapshot @/{var,home}
for i in {var,home}; do mount -o bind @${i} @/$i; done
debootstrap buster @ http://deb.debian.org/debian; echo $?
for i in {dev,proc,sys}; do mount -o bind /$i @/$i; done
cp /etc/bash.bashrc @/etc/

chroot /mnt/@ /bin/bash
echo rbd1 > /etc/hostname
passwd
uuid=`blkid | grep $blkdev | cut -d """ -f 2`
cat << EOF > /etc/fstab
UUID=$uuid / btrfs noatime,nodiratime,subvol=@ 0 1
UUID=$uuid /var btrfs noatime,nodiratime,subvol=@var 0 2
UUID=$uuid /home btrfs noatime,nodiratime,subvol=@home 0 2
EOF
cat << EOF >> /var/lib/dpkg/status
Package: lvm2
Status: install ok installed
Priority: important
Section: admin
Installed-Size: 0
Maintainer: Debian Adduser Developers <[email protected]>
Architecture: all
Multi-Arch: foreign
Version: 113.118
Description: No-install

Package: sudo
Status: install ok installed
Priority: important
Section: admin
Installed-Size: 0
Maintainer: Debian Adduser Developers <[email protected]>
Architecture: all
Multi-Arch: foreign
Version: 113.118
Description: No-install
EOF

exit
grub-install --boot-directory=@/boot/ /dev/$blkdev
init 6

apt -yq install --no-install-recommends linux-image-amd64 bash-completion ed btrfs-progs grub-pc iproute2 ssh  smartmontools ntfs-3g net-tools man
exit
grub-install --boot-directory=@/boot/ /dev/$blkdev
init 6

ಒಂದು ಕ್ಲಸ್ಟರ್ ರಚಿಸಿ

apt -yq install --no-install-recommends gnupg wget ca-certificates
echo 'deb https://download.ceph.com/debian-octopus/ buster main' >> /etc/apt/sources.list
wget -q -O- 'https://download.ceph.com/keys/release.asc' | apt-key add -
apt update
apt -yq install --no-install-recommends ceph-common ceph-mon

echo 192.168.11.11 rbd1 >> /etc/hosts
uuid=`cat /proc/sys/kernel/random/uuid`
cat << EOF > /etc/ceph/ceph.conf
[global]
fsid = $uuid
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
mon allow pool delete = true
mon host = 192.168.11.11
mon initial members = rbd1
mon max pg per osd = 385
osd crush update on start = false
#osd memory target = 2147483648
osd memory target = 1610612736
osd scrub chunk min = 1
osd scrub chunk max = 2
osd scrub sleep = .2
osd pool default pg autoscale mode = off
osd pool default size = 1
osd pool default min size = 1
osd pool default pg num = 1
osd pool default pgp num = 1
[mon]
mgr initial modules = dashboard
EOF

ceph-authtool --create-keyring ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
ceph-authtool --create-keyring ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
cp ceph.client.admin.keyring /etc/ceph/
ceph-authtool --create-keyring bootstrap-osd.ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
cp bootstrap-osd.ceph.keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
ceph-authtool ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
ceph-authtool ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
monmaptool --create --add rbd1 192.168.11.11 --fsid $uuid monmap
rm -R /var/lib/ceph/mon/ceph-rbd1/*
ceph-mon --mkfs -i rbd1 --monmap monmap --keyring ceph.mon.keyring
chown ceph:ceph -R /var/lib/ceph
systemctl enable ceph-mon@rbd1
systemctl start ceph-mon@rbd1
ceph mon enable-msgr2
ceph status

# dashboard

apt -yq install --no-install-recommends ceph-mgr ceph-mgr-dashboard python3-distutils python3-yaml
mkdir /var/lib/ceph/mgr/ceph-rbd1
ceph auth get-or-create mgr.rbd1 mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-rbd1/keyring
systemctl enable ceph-mgr@rbd1
systemctl start ceph-mgr@rbd1
ceph config set mgr mgr/dashboard/ssl false
ceph config set mgr mgr/dashboard/server_port 7000
ceph dashboard ac-user-create root 1111115 administrator
systemctl stop ceph-mgr@rbd1
systemctl start ceph-mgr@rbd1

OSD (ಭಾಗ) ಸೇರಿಸಲಾಗುತ್ತಿದೆ

apt install ceph-osd

osdnum=`ceph osd create`
mkdir -p /var/lib/ceph/osd/ceph-$osdnum
mkfs -t xfs /dev/sda1
mount -t xfs /dev/sda1 /var/lib/ceph/osd/ceph-$osdnum
cd /var/lib/ceph/osd/ceph-$osdnum
ceph auth get-or-create osd.0 mon 'profile osd' mgr 'profile osd' osd 'allow *' > /var/lib/ceph/osd/ceph-$osdnum/keyring
ln -s /dev/disk/by-partuuid/d8cc3da6-02  block
ceph-osd -i $osdnum --mkfs
#chown ceph:ceph /dev/sd?2
chown ceph:ceph -R /var/lib/ceph
systemctl enable ceph-osd@$osdnum
systemctl start ceph-osd@$osdnum

ಸಾರಾಂಶ

CEPH ನ ಪ್ರಮುಖ ಮಾರ್ಕೆಟಿಂಗ್ ಪ್ರಯೋಜನವೆಂದರೆ ಕ್ರಷ್, ಡೇಟಾದ ಸ್ಥಳವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಅಲ್ಗಾರಿದಮ್. ಮಾನಿಟರ್‌ಗಳು ಈ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಗ್ರಾಹಕರಿಗೆ ಪ್ರಚಾರ ಮಾಡುತ್ತವೆ, ಅದರ ನಂತರ ಗ್ರಾಹಕರು ಬಯಸಿದ ನೋಡ್ ಮತ್ತು ಬಯಸಿದ OSD ಅನ್ನು ನೇರವಾಗಿ ವಿನಂತಿಸುತ್ತಾರೆ. ಕ್ರಷ್ ಯಾವುದೇ ಕೇಂದ್ರೀಕರಣವನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ. ಇದು ಚಿಕ್ಕ ಫೈಲ್ ಆಗಿದ್ದು, ನೀವು ಗೋಡೆಯ ಮೇಲೆ ಮುದ್ರಿಸಬಹುದು ಮತ್ತು ಸ್ಥಗಿತಗೊಳಿಸಬಹುದು. ಕ್ರಷ್ ಒಂದು ಸಮಗ್ರ ನಕ್ಷೆಯಲ್ಲ ಎಂದು ಅಭ್ಯಾಸವು ತೋರಿಸಿದೆ. ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಮರುಸ್ಥಾಪಿಸಲು ಎಲ್ಲಾ OSD ಗಳು ಮತ್ತು ಕ್ರಷ್ ಅನ್ನು ಇರಿಸಿಕೊಂಡು ಮಾನಿಟರ್‌ಗಳನ್ನು ನಾಶಪಡಿಸುವುದು ಮತ್ತು ಮರು-ಸೃಷ್ಟಿಸುವುದು ಸಾಕಾಗುವುದಿಲ್ಲ. ಇದರಿಂದ ಪ್ರತಿ ಮಾನಿಟರ್ ಸಂಪೂರ್ಣ ಕ್ಲಸ್ಟರ್ ಬಗ್ಗೆ ಕೆಲವು ಮೆಟಾಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ ಎಂದು ತೀರ್ಮಾನಿಸಲಾಗಿದೆ. ಈ ಮೆಟಾಡೇಟಾದ ಅತ್ಯಲ್ಪ ಪ್ರಮಾಣವು ಕ್ಲಸ್ಟರ್ನ ಗಾತ್ರದ ಮೇಲೆ ನಿರ್ಬಂಧಗಳನ್ನು ವಿಧಿಸುವುದಿಲ್ಲ, ಆದರೆ ಇದು ಅವರ ಸುರಕ್ಷತೆಯ ಅಗತ್ಯವಿರುತ್ತದೆ, ಇದು ಫ್ಲಾಶ್ ಡ್ರೈವಿನಲ್ಲಿ ಸಿಸ್ಟಮ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಕಾರಣದಿಂದಾಗಿ ಡಿಸ್ಕ್ ಉಳಿತಾಯವನ್ನು ನಿವಾರಿಸುತ್ತದೆ ಮತ್ತು ಮೂರು ನೋಡ್ಗಳಿಗಿಂತ ಕಡಿಮೆ ಇರುವ ಕ್ಲಸ್ಟರ್ಗಳನ್ನು ಹೊರತುಪಡಿಸುತ್ತದೆ. ಐಚ್ಛಿಕ ವೈಶಿಷ್ಟ್ಯಗಳಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಆಕ್ರಮಣಕಾರಿ ಡೆವಲಪರ್ ನೀತಿ. ಕನಿಷ್ಠೀಯತಾವಾದದಿಂದ ದೂರವಿದೆ. ಮಟ್ಟದಲ್ಲಿ ದಾಖಲೆ: "ಅದು ಏನೆಂದು ಧನ್ಯವಾದಗಳು, ಆದರೆ ತುಂಬಾ ಕಡಿಮೆ." ಕಡಿಮೆ ಮಟ್ಟದಲ್ಲಿ ಸೇವೆಗಳೊಂದಿಗೆ ಸಂವಹನ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸಲಾಗಿದೆ, ಆದರೆ ಈ ವಿಷಯದ ಕುರಿತು ದಸ್ತಾವೇಜನ್ನು ತುಂಬಾ ಮೇಲ್ನೋಟಕ್ಕೆ ಹೊಂದಿದೆ, ಆದ್ದರಿಂದ ಹೌದು ಎನ್ನುವುದಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ. ತುರ್ತು ಪರಿಸ್ಥಿತಿಯಿಂದ ಡೇಟಾವನ್ನು ಮರುಪಡೆಯಲು ವಾಸ್ತವಿಕವಾಗಿ ಯಾವುದೇ ಅವಕಾಶವಿಲ್ಲ.

ಮುಂದಿನ ಕ್ರಮಕ್ಕಾಗಿ ಆಯ್ಕೆಗಳು: CEPH ಅನ್ನು ತ್ಯಜಿಸಿ ಮತ್ತು ನೀರಸ ಬಹು-ಡಿಸ್ಕ್ btrfs (ಅಥವಾ xfs, zfs) ಅನ್ನು ಬಳಸಿ, CEPH ಕುರಿತು ಹೊಸ ಮಾಹಿತಿಯನ್ನು ಕಲಿಯಿರಿ, ಇದು ನಿಮಗೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಪರಿಸ್ಥಿತಿಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ನಿಮ್ಮ ಸ್ವಂತ ಸಂಗ್ರಹಣೆಯನ್ನು ಸುಧಾರಿತ ತರಬೇತಿಯಾಗಿ ಬರೆಯಲು ಪ್ರಯತ್ನಿಸಿ .

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ