ಬಹಳ ಹಿಂದೆಯೇ, LINBIT ನ ವ್ಯಕ್ತಿಗಳು ತಮ್ಮ ಹೊಸ SDS ಪರಿಹಾರವನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಿದರು - Linstor. ಇದು ಸಾಬೀತಾದ ತಂತ್ರಜ್ಞಾನಗಳ ಆಧಾರದ ಮೇಲೆ ಸಂಪೂರ್ಣವಾಗಿ ಉಚಿತ ಸಂಗ್ರಹವಾಗಿದೆ: DRBD, LVM, ZFS. Linstor ಸರಳತೆ ಮತ್ತು ಉತ್ತಮವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಿದ ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ, ಇದು ನಿಮಗೆ ಸ್ಥಿರತೆ ಮತ್ತು ಸಾಕಷ್ಟು ಪ್ರಭಾವಶಾಲಿ ಫಲಿತಾಂಶಗಳನ್ನು ಸಾಧಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
ಇಂದು ನಾನು ಅದರ ಬಗ್ಗೆ ಸ್ವಲ್ಪ ಹೆಚ್ಚು ವಿವರವಾಗಿ ಮಾತನಾಡಲು ಬಯಸುತ್ತೇನೆ ಮತ್ತು linstor_un ಅನ್ನು ಬಳಸಿಕೊಂಡು OpenNebula ನೊಂದಿಗೆ ಅದನ್ನು ಎಷ್ಟು ಸುಲಭವಾಗಿ ಸಂಯೋಜಿಸಬಹುದು ಎಂಬುದನ್ನು ತೋರಿಸಲು ನಾನು ಬಯಸುತ್ತೇನೆ - ಈ ಉದ್ದೇಶಕ್ಕಾಗಿ ನಾನು ವಿಶೇಷವಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಹೊಸ ಚಾಲಕ.
OpenNebula ಸಂಯೋಜನೆಯೊಂದಿಗೆ Linstor ನಿಮ್ಮ ಸ್ವಂತ ಮೂಲಸೌಕರ್ಯದಲ್ಲಿ ಸುಲಭವಾಗಿ ನಿಯೋಜಿಸಬಹುದಾದ ವೇಗದ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ ಮೋಡವನ್ನು ನಿರ್ಮಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಲಿನ್ಸ್ಟರ್ ಆರ್ಕಿಟೆಕ್ಚರ್
Linstor ಒಂದು ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅಥವಾ ಬ್ಲಾಕ್ ಸ್ಟೋರೇಜ್ ಪರ್ ಸೆ ಅಲ್ಲ, Linstor ಒಂದು ಆರ್ಕೆಸ್ಟ್ರೇಟರ್ ಆಗಿದ್ದು ಅದು ಅಮೂರ್ತ ಪದರವನ್ನು ಒದಗಿಸುತ್ತದೆ ಅದು ನಿಮಗೆ LVM ಅಥವಾ ZFS ನಲ್ಲಿ ಸಂಪುಟಗಳ ರಚನೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ಮತ್ತು DRBD9 ಬಳಸಿಕೊಂಡು ಅವುಗಳನ್ನು ಪುನರಾವರ್ತಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
ಸ್ಟೀರಿಯೊಟೈಪ್ಗಳನ್ನು ಮುರಿಯುವುದು
ಆದರೆ ನಿರೀಕ್ಷಿಸಿ, DRBD? — ಅದನ್ನು ಏಕೆ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಬೇಕು ಮತ್ತು ಅದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ?
DRBD8 ಬಹಳ ಜನಪ್ರಿಯವಾಗಿದ್ದ ಹಿಂದಿನದನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳೋಣ. ಅದರ ಪ್ರಮಾಣಿತ ಬಳಕೆಯು ಒಂದು ದೊಡ್ಡ ಬ್ಲಾಕ್ ಸಾಧನವನ್ನು ರಚಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಮತ್ತು ಅದೇ LVM ಅನ್ನು ಬಳಸಿಕೊಂಡು ಅನೇಕ ಸಣ್ಣ ತುಂಡುಗಳಾಗಿ ಕತ್ತರಿಸುತ್ತದೆ. ಒಂದು ರೀತಿಯ mdadm RAID-1 ಆದರೆ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಪ್ರತಿಕೃತಿಯೊಂದಿಗೆ.
ಈ ವಿಧಾನವು ಅದರ ನ್ಯೂನತೆಗಳಿಲ್ಲ, ಮತ್ತು ಆದ್ದರಿಂದ, DRBD9 ಆಗಮನದೊಂದಿಗೆ, ಶೇಖರಣಾ ವಿನ್ಯಾಸದ ತತ್ವಗಳು ಬದಲಾಗಿವೆ; ಈಗ ಪ್ರತಿ ವರ್ಚುವಲ್ ಯಂತ್ರಕ್ಕೆ ಪ್ರತ್ಯೇಕ DRBD ಸಾಧನವನ್ನು ರಚಿಸಲಾಗಿದೆ.
ಸ್ವತಂತ್ರ ಬ್ಲಾಕ್ ಸಾಧನಗಳೊಂದಿಗಿನ ವಿಧಾನವು ಕ್ಲಸ್ಟರ್ನಲ್ಲಿ ಜಾಗವನ್ನು ಉತ್ತಮವಾಗಿ ಬಳಸಿಕೊಳ್ಳಲು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಹಲವಾರು ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸಹ ಸೇರಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಅಂತಹ ಪ್ರತಿಯೊಂದು ಸಾಧನಕ್ಕೂ ನೀವು ಪ್ರತಿಕೃತಿಗಳ ಸಂಖ್ಯೆ, ಅವುಗಳ ಸ್ಥಳ ಮತ್ತು ವೈಯಕ್ತಿಕ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ನಿರ್ಧರಿಸಬಹುದು. ಅವುಗಳನ್ನು ರಚಿಸಲು/ಅಳಿಸಲು, ಸ್ನ್ಯಾಪ್ಶಾಟ್ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು, ಮರುಗಾತ್ರಗೊಳಿಸಲು, ಎನ್ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಮತ್ತು ಹೆಚ್ಚಿನದನ್ನು ಮಾಡಲು ಸುಲಭವಾಗಿದೆ. DRBD9 ಸಹ ಕೋರಮ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ ಎಂದು ಗಮನಿಸಬೇಕಾದ ಅಂಶವಾಗಿದೆ, ಇದು ವಿಭಜಿತ-ಮೆದುಳಿನ ಸಂದರ್ಭಗಳನ್ನು ತಪ್ಪಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಸಂಪನ್ಮೂಲಗಳು ಮತ್ತು ಬ್ಯಾಕೆಂಡ್ಗಳು
ಹೊಸ ಬ್ಲಾಕ್ ಸಾಧನವನ್ನು ರಚಿಸುವಾಗ, ಕ್ಲಸ್ಟರ್ನಲ್ಲಿನ ವಿವಿಧ ನೋಡ್ಗಳಲ್ಲಿ ಅಗತ್ಯವಿರುವ ಸಂಖ್ಯೆಯ ಪ್ರತಿಕೃತಿಗಳನ್ನು Linstor ಇರಿಸುತ್ತದೆ. ಅಂತಹ ಪ್ರತಿಯೊಂದು ಪ್ರತಿಕೃತಿಯನ್ನು ನಾವು DRBD ಸಂಪನ್ಮೂಲ ಎಂದು ಕರೆಯುತ್ತೇವೆ.
ಎರಡು ರೀತಿಯ ಸಂಪನ್ಮೂಲಗಳಿವೆ:
- ಡೇಟಾ ಸಂಪನ್ಮೂಲ — LVM ಅಥವಾ ZFS ಪೂಲ್ನಲ್ಲಿರುವ ನೋಡ್ನಲ್ಲಿ ಇರುವ DRBD ಸಾಧನವಾಗಿದೆ.
ಈ ಸಮಯದಲ್ಲಿ ಹಲವಾರು ಬ್ಯಾಕೆಂಡ್ಗಳಿಗೆ ಬೆಂಬಲವಿದೆ ಮತ್ತು ಅವರ ಸಂಖ್ಯೆ ನಿರಂತರವಾಗಿ ಬೆಳೆಯುತ್ತಿದೆ. LVM, ThinLVM ಮತ್ತು ZFS ಗೆ ಬೆಂಬಲವಿದೆ. ಕೊನೆಯ ಎರಡು ಸ್ನ್ಯಾಪ್ಶಾಟ್ಗಳನ್ನು ರಚಿಸಲು ಮತ್ತು ಬಳಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. - ಡಿಸ್ಕ್ ರಹಿತ ಸಂಪನ್ಮೂಲ — ಇದು ಬ್ಯಾಕೆಂಡ್ ಇಲ್ಲದೆ ನೋಡ್ನಲ್ಲಿ ಇರಿಸಲಾದ DRBD ಸಾಧನವಾಗಿದೆ, ಆದರೆ ಇದನ್ನು ಸಾಮಾನ್ಯ ಬ್ಲಾಕ್ ಸಾಧನವಾಗಿ ಪರಿಗಣಿಸಲು ಅನುಮತಿಸುತ್ತದೆ; ಎಲ್ಲಾ ಓದುವ/ಬರೆಯುವ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಡೇಟಾ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಮರುನಿರ್ದೇಶಿಸಲಾಗುತ್ತದೆ. ಡಿಸ್ಕ್ಲೆಸ್ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಹತ್ತಿರದ ಅನಲಾಗ್ iSCSI LUN ಆಗಿದೆ.
ಪ್ರತಿ DRBD ಸಂಪನ್ಮೂಲವು 8 ಪ್ರತಿಕೃತಿಗಳನ್ನು ಹೊಂದಬಹುದು ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಒಂದು ಮಾತ್ರ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಸಕ್ರಿಯವಾಗಿರಬಹುದು - ಪ್ರಾಥಮಿಕ, ಎಲ್ಲರೂ ಆಗಿರುತ್ತಾರೆ ಸೆಕೆಂಡರಿ ಮತ್ತು ಕನಿಷ್ಠ ಒಂದು ಪ್ರಾಥಮಿಕ ಇರುವವರೆಗೆ ಅವುಗಳ ಬಳಕೆ ಅಸಾಧ್ಯವಾಗಿರುತ್ತದೆ, ಅಂದರೆ, ಅವರು ತಮ್ಮ ನಡುವೆ ಡೇಟಾವನ್ನು ಸರಳವಾಗಿ ಪುನರಾವರ್ತಿಸುತ್ತಾರೆ.
ಸಿಸ್ಟಮ್ಗೆ DRBD ಸಾಧನವನ್ನು ಸ್ಥಾಪಿಸುವ ಮೂಲಕ, ಅದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆಗುತ್ತದೆ ಪ್ರಾಥಮಿಕ, ಹೀಗಾಗಿ ಡಿಆರ್ಬಿಡಿ ಪರಿಭಾಷೆಯಲ್ಲಿ ಡಿಸ್ಕ್ಲೆಸ್ ಸಂಪನ್ಮೂಲ ಕೂಡ ಪ್ರಾಥಮಿಕವಾಗಿರಬಹುದು.
ಹಾಗಾದರೆ ನಿಮಗೆ ಲಿನ್ಸ್ಟರ್ ಏಕೆ ಬೇಕು?
ಎಲ್ಲಾ ಸಂಪನ್ಮೂಲ-ತೀವ್ರ ಕಾರ್ಯಗಳನ್ನು ಕರ್ನಲ್ಗೆ ವಹಿಸಿಕೊಡುವ ಮೂಲಕ, Linstor ಮೂಲಭೂತವಾಗಿ ನಿಯಮಿತ ಜಾವಾ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿದ್ದು ಅದು DRBD ಸಂಪನ್ಮೂಲಗಳ ರಚನೆಯನ್ನು ಸುಲಭವಾಗಿ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಇದಲ್ಲದೆ, ಅವನಿಂದ ರಚಿಸಲ್ಪಟ್ಟ ಪ್ರತಿಯೊಂದು ಸಂಪನ್ಮೂಲವು ಸ್ವತಂತ್ರ DRBD ಕ್ಲಸ್ಟರ್ ಆಗಿರುತ್ತದೆ, ಅದು ನಿಯಂತ್ರಣ-ಸಮತಲ ಮತ್ತು ಇತರ DRBD ಸಂಪನ್ಮೂಲಗಳ ಸ್ಥಿತಿಯನ್ನು ಲೆಕ್ಕಿಸದೆ ಸ್ವತಂತ್ರವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
Linstor ಕೇವಲ ಎರಡು ಘಟಕಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:
- ಲಿನ್ಸ್ಟರ್-ನಿಯಂತ್ರಕ - ಮುಖ್ಯ ನಿಯಂತ್ರಕ, ಇದು ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಚಿಸಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು API ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದು ಉಪಗ್ರಹಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುತ್ತದೆ, ಅವುಗಳಲ್ಲಿರುವ ಮುಕ್ತ ಸ್ಥಳವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ಹೊಸ ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಚಿಸಲು ಮತ್ತು ಅಳಿಸಲು ಕಾರ್ಯಗಳನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ಇದು ಒಂದೇ ನಿದರ್ಶನದಲ್ಲಿ ಚಲಿಸುತ್ತದೆ ಮತ್ತು ಡೇಟಾಬೇಸ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಅದು ಆಂತರಿಕ (H2) ಅಥವಾ ಬಾಹ್ಯ (PostgreSQL, MySQL, MariaDB) ಆಗಿರಬಹುದು.
- ಲಿನ್ಸ್ಟರ್-ಉಪಗ್ರಹ — ಎಲ್ಲಾ ಶೇಖರಣಾ ನೋಡ್ಗಳಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾಗಿದೆ ಮತ್ತು ನಿಯಂತ್ರಕಕ್ಕೆ ಉಚಿತ ಸ್ಥಳಾವಕಾಶದ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ, ಮತ್ತು ಅವುಗಳ ಮೇಲೆ ಹೊಸ ಸಂಪುಟಗಳು ಮತ್ತು DRBD ಸಾಧನಗಳನ್ನು ರಚಿಸಲು ಮತ್ತು ಅಳಿಸಲು ನಿಯಂತ್ರಕದಿಂದ ಸ್ವೀಕರಿಸಿದ ಕಾರ್ಯಗಳನ್ನು ಸಹ ನಿರ್ವಹಿಸುತ್ತದೆ.
Linstor ಈ ಕೆಳಗಿನ ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ:
- ನೋಡ್ - DRBD ಸಂಪನ್ಮೂಲಗಳನ್ನು ರಚಿಸುವ ಮತ್ತು ಬಳಸಲಾಗುವ ಭೌತಿಕ ಸರ್ವರ್.
- ಶೇಖರಣಾ ಪೂಲ್ — LVM ಅಥವಾ ZFS ಪೂಲ್ ಅನ್ನು DRBD ಸಂಪನ್ಮೂಲಗಳಿರುವ ನೋಡ್ನಲ್ಲಿ ರಚಿಸಲಾಗಿದೆ. ಡಿಸ್ಕ್ಲೆಸ್ ಪೂಲ್ ಸಹ ಸಾಧ್ಯವಿದೆ - ಇದು ಡಿಸ್ಕ್ಲೆಸ್ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಮಾತ್ರ ಹೊಂದಿರುವ ಪೂಲ್ ಆಗಿದೆ.
- ಸಂಪನ್ಮೂಲ ವ್ಯಾಖ್ಯಾನ - ಸಂಪನ್ಮೂಲದ ವ್ಯಾಖ್ಯಾನವು ಮೂಲಭೂತವಾಗಿ ಹೆಸರು ಮತ್ತು ಅದರ ಎಲ್ಲಾ ಗುಣಲಕ್ಷಣಗಳನ್ನು ವಿವರಿಸುವ ಮೂಲಮಾದರಿಯಾಗಿದೆ.
- ಸಂಪುಟ ವ್ಯಾಖ್ಯಾನ - ಪರಿಮಾಣದ ವ್ಯಾಖ್ಯಾನ. ಪ್ರತಿಯೊಂದು ಸಂಪನ್ಮೂಲವು ಬಹು ಸಂಪುಟಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಪ್ರತಿ ಪರಿಮಾಣವು ಗಾತ್ರವನ್ನು ಹೊಂದಿರಬೇಕು.
- ಸಂಪನ್ಮೂಲ — ಒಂದು ಬ್ಲಾಕ್ ಸಾಧನದ ರಚಿಸಿದ ನಿದರ್ಶನ, ಪ್ರತಿ ಸಂಪನ್ಮೂಲವನ್ನು ನಿರ್ದಿಷ್ಟ ನೋಡ್ನಲ್ಲಿ ಮತ್ತು ಕೆಲವು ಶೇಖರಣಾ ಪೂಲ್ನಲ್ಲಿ ಇರಿಸಬೇಕು.
ಲಿನ್ಸ್ಟರ್ ಸ್ಥಾಪನೆ
ಉಬುಂಟು ಅನ್ನು ಸಿಸ್ಟಮ್ ಆಗಿ ಬಳಸಲು ನಾನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ, ಏಕೆಂದರೆ... ಅವಳಿಗೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ
add-apt-repository ppa:linbit/linbit-drbd9-stack
apt-get update
ಅಥವಾ ಡೆಬಿಯನ್, ಅಲ್ಲಿ Linstor ಅನ್ನು Proxmox ಗಾಗಿ ಅಧಿಕೃತ ರೆಪೊಸಿಟರಿಯಿಂದ ಸ್ಥಾಪಿಸಬಹುದು:
wget -O- https://packages.linbit.com/package-signing-pubkey.asc | apt-key add -
PVERS=5 && echo "deb http://packages.linbit.com/proxmox/ proxmox-$PVERS drbd-9.0" >
/etc/apt/sources.list.d/linbit.list
apt-get update
ನಿಯಂತ್ರಕ
ಇಲ್ಲಿ ಎಲ್ಲವೂ ಸರಳವಾಗಿದೆ:
apt-get install linstor-controller linstor-client
systemctl enable linstor-controller
systemctl start linstor-controller
ಶೇಖರಣಾ ನೋಡ್ಗಳು
Linux ಕರ್ನಲ್ ಪ್ರಸ್ತುತ ಇನ್-ಟ್ರೀ ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್ನೊಂದಿಗೆ ರವಾನೆಯಾಗುತ್ತದೆ DRBD8, ದುರದೃಷ್ಟವಶಾತ್ ಇದು ನಮಗೆ ಸರಿಹೊಂದುವುದಿಲ್ಲ ಮತ್ತು ನಾವು ಸ್ಥಾಪಿಸಬೇಕಾಗಿದೆ DRBD9:
apt-get install drbd-dkms
ಅಭ್ಯಾಸ ಪ್ರದರ್ಶನಗಳಂತೆ, ಹೆಚ್ಚಿನ ತೊಂದರೆಗಳು ನಿಖರವಾಗಿ ಉದ್ಭವಿಸುತ್ತವೆ ಏಕೆಂದರೆ DRBD8 ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಸಿಸ್ಟಮ್ಗೆ ಲೋಡ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು DRBD9 ಅಲ್ಲ. ಅದೃಷ್ಟವಶಾತ್, ಚಾಲನೆಯಲ್ಲಿರುವ ಮೂಲಕ ಇದನ್ನು ಪರಿಶೀಲಿಸುವುದು ಸುಲಭ:
modprobe drbd
cat /proc/drbd
ನೀವು ನೋಡಿದರೆ ಆವೃತ್ತಿ: 9 - ಇದರರ್ಥ ಎಲ್ಲವೂ ಸರಿಯಾಗಿದ್ದರೆ ಆವೃತ್ತಿ: 8 - ಇದರರ್ಥ ಏನೋ ತಪ್ಪಾಗಿದೆ ಮತ್ತು ಕಾರಣಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ನೀವು ಹೆಚ್ಚುವರಿ ಕ್ರಮಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ.
ಈಗ ಸ್ಥಾಪಿಸೋಣ ಲಿನ್ಸ್ಟರ್-ಉಪಗ್ರಹ и drbd-utils:
apt-get install linstor-satellite drbd-utils
systemctl enable linstor-satellite
systemctl start linstor-satellite
ಒಂದು ಕ್ಲಸ್ಟರ್ ರಚಿಸಿ
ಶೇಖರಣಾ ಪೂಲ್ಗಳು ಮತ್ತು ನೋಡ್ಗಳು
ಬ್ಯಾಕೆಂಡ್ ಆಗಿ ನಾವು ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ ThinLVM, ಏಕೆಂದರೆ ಇದು ಸರಳವಾಗಿದೆ ಮತ್ತು ಸ್ನ್ಯಾಪ್ಶಾಟ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.
ಸ್ಥಾಪಿಸಿ lvm2, ನೀವು ಈಗಾಗಲೇ ಹಾಗೆ ಮಾಡದಿದ್ದರೆ, ನಮ್ಮ ಎಲ್ಲಾ ಶೇಖರಣಾ ನೋಡ್ಗಳಲ್ಲಿ ThinLVM ಪೂಲ್ ಅನ್ನು ರಚಿಸೋಣ:
sudo vgcreate drbdpool /dev/sdb
sudo lvcreate -L 800G -T drbdpool/thinpool
ಎಲ್ಲಾ ಮುಂದಿನ ಕ್ರಿಯೆಗಳನ್ನು ನೇರವಾಗಿ ನಿಯಂತ್ರಕದಲ್ಲಿ ನಿರ್ವಹಿಸಬಹುದು:
ನಮ್ಮ ನೋಡ್ಗಳನ್ನು ಸೇರಿಸೋಣ:
linstor node create node1 127.0.0.11
linstor node create node2 127.0.0.12
linstor node create node3 127.0.0.13
ಶೇಖರಣಾ ಪೂಲ್ಗಳನ್ನು ರಚಿಸೋಣ:
linstor storage-pool create lvmthin node1 data drbdpool/thinpool
linstor storage-pool create lvmthin node2 data drbdpool/thinpool
linstor storage-pool create lvmthin node3 data drbdpool/thinpool
ಈಗ ರಚಿಸಲಾದ ಪೂಲ್ಗಳನ್ನು ಪರಿಶೀಲಿಸೋಣ:
linstor storage-pool list
ಎಲ್ಲವನ್ನೂ ಸರಿಯಾಗಿ ಮಾಡಿದರೆ, ನಾವು ಈ ರೀತಿಯದನ್ನು ನೋಡಬೇಕು:
+------------------------------------------------ ------------------------------------------------- ----+ | ಸ್ಟೋರೇಜ್ಪೂಲ್ | ನೋಡ್ | ಚಾಲಕ | ಪೂಲ್ ಹೆಸರು | ಉಚಿತ ಸಾಮರ್ಥ್ಯ | ಒಟ್ಟು ಸಾಮರ್ಥ್ಯ | ಸ್ನ್ಯಾಪ್ಶಾಟ್ಗಳು | |------------------------------------------------ ------------------------------------------------- ---| | ಡೇಟಾ | ನೋಡ್1 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | ನಿಜ | | ಡೇಟಾ | ನೋಡ್2 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | ನಿಜ | | ಡೇಟಾ | ನೋಡ್3 | LVM_THIN | drbdpool/thinpool | 64 GiB | 64 GiB | ನಿಜ | +------------------------------------------------ ------------------------------------------------- ----+
DRBD ಸಂಪನ್ಮೂಲಗಳು
ಈಗ ನಮ್ಮ ಹೊಸ DRBD ಸಂಪನ್ಮೂಲವನ್ನು ರಚಿಸಲು ಪ್ರಯತ್ನಿಸೋಣ:
linstor resource-definition create myres
linstor volume-definition create myres 1G
linstor resource create myres --auto-place 2
ರಚಿಸಲಾದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪರಿಶೀಲಿಸೋಣ:
linstor resource list
+------------------------------------------------ ------------------------------------------------- ---+ | ನೋಡ್ | ಸಂಪನ್ಮೂಲ | ಸ್ಟೋರೇಜ್ಪೂಲ್ | VolumeNr | ಮೈನರ್ ಎನ್ಆರ್ | ಸಾಧನದ ಹೆಸರು | ಹಂಚಿಕೆ | ಬಳಕೆ | ರಾಜ್ಯ | |------------------------------------------------ ------------------------------------------------- --| | ನೋಡ್1 | ಮೈರೆಸ್ | ಡೇಟಾ | 0 | 1084 | /dev/drbd1084 | 52 ಕಿಬಿ | ಬಳಕೆಯಾಗದ | ಇಂದಿನವರೆಗೆ | | ನೋಡ್2 | ಮೈರೆಸ್ | ಡೇಟಾ | 0 | 1084 | /dev/drbd1084 | 52 ಕಿಬಿ | ಬಳಕೆಯಾಗದ | ಇಂದಿನವರೆಗೆ | +------------------------------------------------ ------------------------------------------------- ---+
ಗ್ರೇಟ್! - ಮೊದಲ ಎರಡು ನೋಡ್ಗಳಲ್ಲಿ ಸಂಪನ್ಮೂಲವನ್ನು ರಚಿಸಲಾಗಿದೆ ಎಂದು ನಾವು ನೋಡುತ್ತೇವೆ, ಮೂರನೆಯದರಲ್ಲಿ ನಾವು ಡಿಸ್ಕ್ಲೆಸ್ ಸಂಪನ್ಮೂಲವನ್ನು ರಚಿಸಲು ಪ್ರಯತ್ನಿಸಬಹುದು:
linstor resource create --diskless node3 myres
ನೋಡ್ಗಳಲ್ಲಿ ನೀವು ಯಾವಾಗಲೂ ಈ ಸಾಧನವನ್ನು ಕಾಣಬಹುದು /dev/drbd1084
ಅಥವಾ /dev/drbd/by-res/myres/0
ಲಿನ್ಸ್ಟರ್ ಈ ರೀತಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ನೀವು ಹೆಚ್ಚಿನ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಬಹುದು
ಈಗ ಅದನ್ನು OpenNebula ನೊಂದಿಗೆ ಹೇಗೆ ಸಂಯೋಜಿಸುವುದು ಎಂದು ನಾನು ನಿಮಗೆ ಹೇಳುತ್ತೇನೆ
OpenNebula ಅನ್ನು ಹೊಂದಿಸಲಾಗುತ್ತಿದೆ
ನಾನು OpenNebula ಸೆಟಪ್ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ತುಂಬಾ ಆಳವಾಗಿ ಹೋಗುವುದಿಲ್ಲ, ಏಕೆಂದರೆ... ಎಲ್ಲಾ ಹಂತಗಳನ್ನು ವಿವರವಾಗಿ ವಿವರಿಸಲಾಗಿದೆ
linstor_un
ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು, ನಾನು ನನ್ನ ಸ್ವಂತ ಚಾಲಕವನ್ನು ಬರೆದಿದ್ದೇನೆ -
ಸಂಪೂರ್ಣ ಅನುಸ್ಥಾಪನೆಯನ್ನು ಮುಂಭಾಗದ ಓಪನ್ನೆಬ್ಯುಲಾ ನೋಡ್ಗಳಲ್ಲಿ ನಡೆಸಲಾಗುತ್ತದೆ ಮತ್ತು ಕಂಪ್ಯೂಟ್ ನೋಡ್ಗಳಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಕ್ರಿಯೆಗಳ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ.
ಮೊದಲನೆಯದಾಗಿ, ನಾವು ಹೊಂದಿದ್ದೇವೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬೇಕು jq и ಲಿನ್ಸ್ಟರ್-ಕ್ಲೈಂಟ್:
apt-get install jq linstor-client
ತಂಡದ linstor node list
ನೋಡ್ಗಳ ಪಟ್ಟಿಯನ್ನು ಪ್ರದರ್ಶಿಸಬೇಕು. ಎಲ್ಲಾ OpenNebula ಕಂಪ್ಯೂಟ್ ನೋಡ್ಗಳನ್ನು Linstor ಕ್ಲಸ್ಟರ್ಗೆ ಸೇರಿಸಬೇಕು.
ಪ್ಲಗಿನ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ಸ್ಥಾಪಿಸಿ:
curl -L https://github.com/OpenNebula/addon-linstor_un/archive/master.tar.gz | tar -xzvf - -C /tmp
mv /tmp/addon-linstor_un-master/vmm/kvm/* /var/lib/one/remotes/vmm/kvm/
mkdir -p /var/lib/one/remotes/etc/datastore/linstor_un
mv /tmp/addon-linstor_un-master/datastore/linstor_un/linstor_un.conf /var/lib/one/remotes/etc/datastore/linstor_un/linstor_un.conf
mv /tmp/addon-linstor_un-master/datastore/linstor_un /var/lib/one/remotes/datastore/linstor_un
mv /tmp/addon-linstor_un-master/tm/linstor_un /var/lib/one/remotes/tm/linstor_un
rm -rf /tmp/addon-linstor_un-master
ಈಗ ನಾವು ಅದನ್ನು OpenNebula config ಗೆ ಸೇರಿಸಬೇಕಾಗಿದೆ, ಇದನ್ನು ಮಾಡಲು ನಾವು ವಿವರಿಸಿದ ಸರಳ ಹಂತಗಳನ್ನು ಅನುಸರಿಸುತ್ತೇವೆ
ನಂತರ OpenNebula ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ:
systemctl restart opennebula
ಮತ್ತು ನಮ್ಮ ಡೇಟಾ ಸ್ಟೋರ್ಗಳನ್ನು ಸೇರಿಸಿ, ಸಿಸ್ಟಮ್:
cat > system-ds.conf <<EOT
NAME="linstor-system"
TYPE="SYSTEM_DS"
STORAGE_POOL="data"
AUTO_PLACE="2"
CLONE_MODE="snapshot"
CHECKPOINT_AUTO_PLACE="1"
BRIDGE_LIST="node1 node2 node3"
TM_MAD="linstor_un"
EOT
onedatastore create system-ds.conf
ಮತ್ತು ಇಮೇಜ್ ಸ್ಟೋರ್:
cat > images-ds.conf <<EOT
NAME="linstor-images"
TYPE="IMAGE_DS"
STORAGE_POOL="data"
AUTO_PLACE="2"
BRIDGE_LIST="node1 node2 node3"
DISK_TYPE="BLOCK"
DS_MAD="linstor_un"
TM_MAD="linstor_un"
EOT
onedatastore create images-ds.conf
- ನಿಯತಾಂಕ
AUTO_PLACE
OpenNebula ನಲ್ಲಿ ಪ್ರತಿ ಹೊಸ ಚಿತ್ರಕ್ಕಾಗಿ ರಚಿಸಲಾದ ಡೇಟಾ ಪ್ರತಿಕೃತಿಗಳ ಸಂಖ್ಯೆಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. - ನಿಯತಾಂಕ
CLONE_MODE
ಹೊಸ ವರ್ಚುವಲ್ ಯಂತ್ರಗಳನ್ನು ರಚಿಸುವಾಗ ಚಿತ್ರಗಳನ್ನು ಹೇಗೆ ಕ್ಲೋನ್ ಮಾಡಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿಖರವಾಗಿ ಸೂಚಿಸುತ್ತದೆ,snapshot
- ಚಿತ್ರದ ಸ್ನ್ಯಾಪ್ಶಾಟ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ ಮತ್ತು ಸ್ನ್ಯಾಪ್ಶಾಟ್ನಿಂದ ವರ್ಚುವಲ್ ಯಂತ್ರವನ್ನು ನಿಯೋಜಿಸುತ್ತದೆ,copy
- ಪ್ರತಿ ವರ್ಚುವಲ್ ಗಣಕಕ್ಕೆ ಚಿತ್ರದ ಸಂಪೂರ್ಣ ನಕಲನ್ನು ಮಾಡುತ್ತದೆ. - В
BRIDGE_LIST
ಇಮೇಜ್ ಕ್ಲೋನಿಂಗ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಬಳಸಲಾಗುವ ಎಲ್ಲಾ ನೋಡ್ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ.
ಬೆಂಬಲಿತ ನಿಯತಾಂಕಗಳ ಸಂಪೂರ್ಣ ಪಟ್ಟಿಗಾಗಿ, ನೋಡಿ
ಇದು ಸೆಟಪ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ, ಈಗ ನೀವು ಅಧಿಕೃತದಿಂದ ಕೆಲವು ಉಪಕರಣಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಬಹುದು
ಯೋಜನೆಯ ಲಿಂಕ್:
ಮೂಲ: www.habr.com