Linux ಕರ್ನಲ್ 6.2 Btrfs ನಲ್ಲಿ RAID5/6 ಸುಧಾರಣೆಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ

RAID 6.2/5 ಅನುಷ್ಠಾನದಲ್ಲಿನ ರೈಟ್ ಹೋಲ್ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು Linux 6 ಕರ್ನಲ್‌ನಲ್ಲಿ ಸೇರಿಸಲು Btrfs ಸುಧಾರಣೆಗಳನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ. ರೆಕಾರ್ಡಿಂಗ್ ಸಮಯದಲ್ಲಿ ಕ್ರ್ಯಾಶ್ ಸಂಭವಿಸಿದಲ್ಲಿ, ಯಾವ RAID ಸಾಧನವನ್ನು ಸರಿಯಾಗಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು ರೆಕಾರ್ಡಿಂಗ್ ಪೂರ್ಣಗೊಂಡಿಲ್ಲ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಆರಂಭದಲ್ಲಿ ಅಸಾಧ್ಯವಾಗಿದೆ ಎಂಬ ಅಂಶಕ್ಕೆ ಸಮಸ್ಯೆಯ ಸಾರವು ಬರುತ್ತದೆ. ಈ ಪರಿಸ್ಥಿತಿಯಲ್ಲಿ ನೀವು RAID ಅನ್ನು ಮರುಸ್ಥಾಪಿಸಲು ಪ್ರಯತ್ನಿಸಿದರೆ, RAID ಬ್ಲಾಕ್‌ಗಳ ಸ್ಥಿತಿಯು ಸಿಂಕ್ ಆಗದ ಕಾರಣ ಅಂಡರ್‌ರೈಟ್ ಬ್ಲಾಕ್‌ಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ ಬ್ಲಾಕ್‌ಗಳು ನಾಶವಾಗಬಹುದು. ಈ ಪರಿಣಾಮವನ್ನು ಎದುರಿಸಲು ವಿಶೇಷ ಕ್ರಮಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳದಿರುವ ಯಾವುದೇ RAID1/5/6 ಸರಣಿಗಳಲ್ಲಿ ಈ ಸಮಸ್ಯೆ ಉಂಟಾಗುತ್ತದೆ.

RAID ಅಳವಡಿಕೆಯಲ್ಲಿ, btrfs ನಲ್ಲಿ RAID1 ನಂತೆ, ಎರಡೂ ನಕಲುಗಳಲ್ಲಿ ಚೆಕ್‌ಸಮ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲಾಗುತ್ತದೆ; ಹೊಂದಾಣಿಕೆಯಾಗದಿದ್ದಲ್ಲಿ, ಎರಡನೇ ಪ್ರತಿಯಿಂದ ಡೇಟಾವನ್ನು ಸರಳವಾಗಿ ಮರುಸ್ಥಾಪಿಸಲಾಗುತ್ತದೆ. ಸಂಪೂರ್ಣ ವೈಫಲ್ಯದ ಬದಲಿಗೆ ಕೆಲವು ಸಾಧನವು ತಪ್ಪಾದ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಲು ಪ್ರಾರಂಭಿಸಿದರೆ ಈ ವಿಧಾನವು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಆದಾಗ್ಯೂ, RAID5/6 ರ ಸಂದರ್ಭದಲ್ಲಿ, ಫೈಲ್ ಸಿಸ್ಟಮ್ ಪ್ಯಾರಿಟಿ ಬ್ಲಾಕ್‌ಗಳಿಗಾಗಿ ಚೆಕ್‌ಸಮ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದಿಲ್ಲ: ಸಾಮಾನ್ಯ ಪರಿಸ್ಥಿತಿಯಲ್ಲಿ, ಬ್ಲಾಕ್‌ಗಳ ಸಿಂಧುತ್ವವನ್ನು ಅವೆಲ್ಲವನ್ನೂ ಚೆಕ್‌ಸಮ್ಮ್ ಮಾಡಲಾಗಿದೆ ಎಂಬ ಅಂಶದಿಂದ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಪ್ಯಾರಿಟಿ ಬ್ಲಾಕ್ ಅನ್ನು ಮರುನಿರ್ಮಾಣ ಮಾಡಬಹುದು. ಡೇಟಾದಿಂದ. ಆದಾಗ್ಯೂ, ಭಾಗಶಃ ರೆಕಾರ್ಡಿಂಗ್ ಸಂದರ್ಭದಲ್ಲಿ, ಈ ವಿಧಾನವು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸದಿರಬಹುದು. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ರಚನೆಯನ್ನು ಮರುಸ್ಥಾಪಿಸುವಾಗ, ಅಪೂರ್ಣ ದಾಖಲೆಯ ಅಡಿಯಲ್ಲಿ ಬರುವ ಬ್ಲಾಕ್ಗಳನ್ನು ತಪ್ಪಾಗಿ ಮರುಸ್ಥಾಪಿಸುವ ಸಾಧ್ಯತೆಯಿದೆ.

ಬಿಟಿಆರ್‌ಎಫ್‌ಗಳ ಸಂದರ್ಭದಲ್ಲಿ, ಉತ್ಪಾದಿಸುವ ದಾಖಲೆಯು ಸ್ಟ್ರೈಪ್‌ಗಿಂತ ಚಿಕ್ಕದಾಗಿದ್ದರೆ ಈ ಸಮಸ್ಯೆಯು ಹೆಚ್ಚು ಪ್ರಸ್ತುತವಾಗಿರುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಫೈಲ್ ಸಿಸ್ಟಮ್ ಓದಲು-ಮಾರ್ಪಡಿಸಿ-ಬರೆಯುವ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿರ್ವಹಿಸಬೇಕು (ಓದಲು-ಮಾರ್ಪಡಿಸಿ-ಬರೆಯಲು, RMW). ಇದು ಅಪೂರ್ಣ ಬರವಣಿಗೆಯೊಂದಿಗೆ ಬ್ಲಾಕ್‌ಗಳನ್ನು ಎದುರಿಸಿದರೆ, RMW ಕಾರ್ಯಾಚರಣೆಯು ಚೆಕ್‌ಸಮ್‌ಗಳನ್ನು ಲೆಕ್ಕಿಸದೆಯೇ ಪತ್ತೆಹಚ್ಚಲಾಗದ ಭ್ರಷ್ಟಾಚಾರಕ್ಕೆ ಕಾರಣವಾಗಬಹುದು. ಡೆವಲಪರ್‌ಗಳು ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿದ್ದಾರೆ, ಇದರಲ್ಲಿ RMW ಕಾರ್ಯಾಚರಣೆಯು ಈ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿರ್ವಹಿಸುವ ಮೊದಲು ಬ್ಲಾಕ್‌ಗಳ ಚೆಕ್‌ಸಮ್ ಅನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ ಮತ್ತು ಡೇಟಾವನ್ನು ಪುನಃಸ್ಥಾಪಿಸಲು ಅಗತ್ಯವಿದ್ದರೆ, ಇದು ರೆಕಾರ್ಡಿಂಗ್ ನಂತರ ಚೆಕ್‌ಸಮ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ದುರದೃಷ್ಟವಶಾತ್, ಅಪೂರ್ಣ ಪಟ್ಟಿಯನ್ನು (RMW) ಬರೆಯುವ ಪರಿಸ್ಥಿತಿಯಲ್ಲಿ, ಇದು ಚೆಕ್ಸಮ್ಗಳನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಹೆಚ್ಚುವರಿ ಓವರ್ಹೆಡ್ಗೆ ಕಾರಣವಾಗುತ್ತದೆ, ಆದರೆ ಗಮನಾರ್ಹವಾಗಿ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ. RAID6 ಗಾಗಿ, ಅಂತಹ ತರ್ಕವು ಇನ್ನೂ ಸಿದ್ಧವಾಗಿಲ್ಲ, ಆದಾಗ್ಯೂ, RAID6 ನಲ್ಲಿ ಅಂತಹ ವೈಫಲ್ಯಕ್ಕಾಗಿ 2 ಸಾಧನಗಳಲ್ಲಿ ಬರೆಯುವಿಕೆಯು ಏಕಕಾಲದಲ್ಲಿ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ, ಅದು ಕಡಿಮೆ ಸಾಧ್ಯತೆಯಿದೆ.

ಹೆಚ್ಚುವರಿಯಾಗಿ, ಡೆವಲಪರ್‌ಗಳಿಂದ RAID5/6 ಅನ್ನು ಬಳಸುವ ಶಿಫಾರಸುಗಳನ್ನು ನಾವು ಗಮನಿಸಬಹುದು, ಅದರ ಸಾರವು Btrfs ನಲ್ಲಿ ಮೆಟಾಡೇಟಾ ಮತ್ತು ಡೇಟಾ ಶೇಖರಣಾ ಪ್ರೊಫೈಲ್ ಭಿನ್ನವಾಗಿರಬಹುದು ಎಂಬ ಅಂಶಕ್ಕೆ ಕುದಿಯುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನೀವು ಮೆಟಾಡೇಟಾಗಾಗಿ ಪ್ರೊಫೈಲ್ RAID1 (ಕನ್ನಡಿ) ಅಥವಾ RAID1C3 (3 ಪ್ರತಿಗಳು) ಮತ್ತು ಡೇಟಾಕ್ಕಾಗಿ RAID5 ಅಥವಾ RAID6 ಅನ್ನು ಬಳಸಬಹುದು. ಇದು ವಿಶ್ವಾಸಾರ್ಹ ಮೆಟಾಡೇಟಾ ರಕ್ಷಣೆ ಮತ್ತು ಒಂದು ಕಡೆ "ಬರೆಯುವ ರಂಧ್ರದ" ಅನುಪಸ್ಥಿತಿಯನ್ನು ಖಾತ್ರಿಗೊಳಿಸುತ್ತದೆ, ಮತ್ತು RAID5/6 ನ ವಿಶಿಷ್ಟವಾದ ಜಾಗವನ್ನು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಬಳಸುತ್ತದೆ. ಇದು ಮೆಟಾಡೇಟಾ ಭ್ರಷ್ಟಾಚಾರವನ್ನು ತಪ್ಪಿಸಲು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ಡೇಟಾ ಭ್ರಷ್ಟಾಚಾರವನ್ನು ಸರಿಪಡಿಸಬಹುದು.

ಕರ್ನಲ್ 6.2 ರಲ್ಲಿ Btrfs ನಲ್ಲಿ SSD ಗಳಿಗೆ, "ಡಿಸ್ಕಾರ್ಡ್" ಕಾರ್ಯಾಚರಣೆಯ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಸಕ್ರಿಯಗೊಳ್ಳುತ್ತದೆ (ಇನ್ನು ಮುಂದೆ ಭೌತಿಕವಾಗಿ ಸಂಗ್ರಹಿಸಬೇಕಾಗಿಲ್ಲದ ಮುಕ್ತ ಬ್ಲಾಕ್ಗಳನ್ನು ಗುರುತಿಸುವುದು) ಎಂದು ಸಹ ಗಮನಿಸಬಹುದು. ಈ ಮೋಡ್‌ನ ಪ್ರಯೋಜನವೆಂದರೆ ಸರದಿಯಲ್ಲಿನ "ತಿರಸ್ಕರಿಸುವ" ಕಾರ್ಯಾಚರಣೆಗಳ ಪರಿಣಾಮಕಾರಿ ಗುಂಪು ಮತ್ತು ಹಿನ್ನೆಲೆ ಪ್ರೊಸೆಸರ್‌ನಿಂದ ಸರದಿಯನ್ನು ಮತ್ತಷ್ಟು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವುದರಿಂದ ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆಯಾಗಿದೆ, ಅದಕ್ಕಾಗಿಯೇ ಸಾಮಾನ್ಯ ಎಫ್‌ಎಸ್ ಕಾರ್ಯಾಚರಣೆಗಳು ಸಿಂಕ್ರೊನಸ್ ಆಗಿ ನಿಧಾನಗೊಳ್ಳುವುದಿಲ್ಲ. ಬ್ಲಾಕ್‌ಗಳನ್ನು ಮುಕ್ತಗೊಳಿಸಿದಂತೆ ತ್ಯಜಿಸಿ” ಮತ್ತು SSD ಉತ್ತಮ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ಮತ್ತೊಂದೆಡೆ, ನೀವು ಇನ್ನು ಮುಂದೆ fstrim ನಂತಹ ಉಪಯುಕ್ತತೆಗಳನ್ನು ಬಳಸಬೇಕಾಗಿಲ್ಲ, ಏಕೆಂದರೆ ಹೆಚ್ಚುವರಿ ಸ್ಕ್ಯಾನಿಂಗ್ ಅಗತ್ಯವಿಲ್ಲದೇ ಮತ್ತು ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿಧಾನಗೊಳಿಸದೆಯೇ FS ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಬ್ಲಾಕ್‌ಗಳನ್ನು ತೆರವುಗೊಳಿಸಲಾಗುತ್ತದೆ.

ಮೂಲ: opennet.ru

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