ಈ ಲೇಖನವು ಬ್ಯಾಕ್ಅಪ್ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಪರಿಗಣಿಸುತ್ತದೆ, ಅದು ಡೇಟಾ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಪ್ರತ್ಯೇಕ ಘಟಕಗಳಾಗಿ (ಚಂಕ್ಗಳು) ಒಡೆಯುವ ಮೂಲಕ, ರೆಪೊಸಿಟರಿಯನ್ನು ರೂಪಿಸುತ್ತದೆ.
ರೆಪೊಸಿಟರಿ ಘಟಕಗಳನ್ನು ಮತ್ತಷ್ಟು ಸಂಕುಚಿತಗೊಳಿಸಬಹುದು ಮತ್ತು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಬಹುದು, ಮತ್ತು ಮುಖ್ಯವಾಗಿ - ಪುನರಾವರ್ತಿತ ಬ್ಯಾಕಪ್ ಪ್ರಕ್ರಿಯೆಗಳ ಸಮಯದಲ್ಲಿ - ಮರುಬಳಕೆ ಮಾಡಬಹುದು.
ಅಂತಹ ರೆಪೊಸಿಟರಿಯಲ್ಲಿನ ಬ್ಯಾಕ್ಅಪ್ ಪ್ರತಿಯು ಒಂದಕ್ಕೊಂದು ಸಂಪರ್ಕಗೊಂಡಿರುವ ಘಟಕಗಳ ಹೆಸರಿನ ಸರಪಳಿಯಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, ವಿವಿಧ ಹ್ಯಾಶ್ ಕಾರ್ಯಗಳ ಆಧಾರದ ಮೇಲೆ.
ಹಲವಾರು ರೀತಿಯ ಪರಿಹಾರಗಳಿವೆ, ನಾನು 3 ರಂದು ಗಮನಹರಿಸುತ್ತೇನೆ: zbackup, borgbackup ಮತ್ತು ರೆಸ್ಟಿಕ್.
ನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶಗಳು
ಎಲ್ಲಾ ಅರ್ಜಿದಾರರು ಒಂದು ರೀತಿಯಲ್ಲಿ ಅಥವಾ ಇನ್ನೊಂದು ರೀತಿಯಲ್ಲಿ ರೆಪೊಸಿಟರಿಯನ್ನು ರಚಿಸುವ ಅಗತ್ಯವಿರುವುದರಿಂದ, ರೆಪೊಸಿಟರಿಯ ಗಾತ್ರವನ್ನು ಅಂದಾಜು ಮಾಡುವುದು ಪ್ರಮುಖ ಅಂಶಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ತಾತ್ತ್ವಿಕವಾಗಿ, ಸ್ವೀಕೃತ ವಿಧಾನದ ಪ್ರಕಾರ ಅದರ ಗಾತ್ರವು 13 GB ಗಿಂತ ಹೆಚ್ಚಿರಬಾರದು ಅಥವಾ ಕಡಿಮೆ - ಉತ್ತಮ ಆಪ್ಟಿಮೈಸೇಶನ್ಗೆ ಒಳಪಟ್ಟಿರುತ್ತದೆ.
ಟಾರ್ನಂತಹ ಆರ್ಕೈವರ್ಗಳನ್ನು ಬಳಸದೆಯೇ ನೇರವಾಗಿ ಫೈಲ್ಗಳ ಬ್ಯಾಕ್ಅಪ್ ನಕಲುಗಳನ್ನು ರಚಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ, ಹಾಗೆಯೇ rsync ಮತ್ತು sshfs ನಂತಹ ಹೆಚ್ಚುವರಿ ಸಾಧನಗಳಿಲ್ಲದೆ ssh/sftp ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು ಹೆಚ್ಚು ಅಪೇಕ್ಷಣೀಯವಾಗಿದೆ.
ಬ್ಯಾಕ್ಅಪ್ಗಳನ್ನು ರಚಿಸುವಾಗ ವರ್ತನೆ:
- ರೆಪೊಸಿಟರಿಯ ಗಾತ್ರವು ಬದಲಾವಣೆಗಳ ಗಾತ್ರಕ್ಕೆ ಸಮನಾಗಿರುತ್ತದೆ ಅಥವಾ ಕಡಿಮೆ ಇರುತ್ತದೆ.
- ಸಂಕೋಚನ ಮತ್ತು/ಅಥವಾ ಗೂಢಲಿಪೀಕರಣವನ್ನು ಬಳಸುವಾಗ ಭಾರೀ CPU ಲೋಡ್ ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ, ಮತ್ತು ಆರ್ಕೈವಿಂಗ್ ಮತ್ತು/ಅಥವಾ ಎನ್ಕ್ರಿಪ್ಶನ್ ಪ್ರಕ್ರಿಯೆಯು ಬ್ಯಾಕ್ಅಪ್ ಶೇಖರಣಾ ಸರ್ವರ್ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿದ್ದರೆ ಸಾಕಷ್ಟು ಹೆಚ್ಚಿನ ನೆಟ್ವರ್ಕ್ ಮತ್ತು ಡಿಸ್ಕ್ ಲೋಡ್ ಆಗುವ ಸಾಧ್ಯತೆಯಿದೆ.
- ರೆಪೊಸಿಟರಿಯು ಹಾನಿಗೊಳಗಾದರೆ, ಹೊಸ ಬ್ಯಾಕ್ಅಪ್ಗಳನ್ನು ರಚಿಸುವಾಗ ಮತ್ತು ಮರುಸ್ಥಾಪಿಸಲು ಪ್ರಯತ್ನಿಸುವಾಗ ವಿಳಂಬವಾದ ದೋಷದ ಸಾಧ್ಯತೆಯಿದೆ. ರೆಪೊಸಿಟರಿಯ ಸಮಗ್ರತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಹೆಚ್ಚುವರಿ ಕ್ರಮಗಳನ್ನು ಯೋಜಿಸುವುದು ಅಥವಾ ಅದರ ಸಮಗ್ರತೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ಅಂತರ್ನಿರ್ಮಿತ ಸಾಧನಗಳನ್ನು ಬಳಸುವುದು ಅವಶ್ಯಕ.
ಹಿಂದಿನ ಲೇಖನಗಳಲ್ಲಿ ಒಂದನ್ನು ತೋರಿಸಿರುವಂತೆ ಟಾರ್ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದನ್ನು ಉಲ್ಲೇಖ ಮೌಲ್ಯವಾಗಿ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ.
zbackup ಅನ್ನು ಪರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ
zbackup ನ ಸಾಮಾನ್ಯ ಕಾರ್ಯವಿಧಾನವೆಂದರೆ ಪ್ರೋಗ್ರಾಂ ಅದೇ ಡೇಟಾವನ್ನು ಹೊಂದಿರುವ ಇನ್ಪುಟ್ ಡೇಟಾ ಸ್ಟ್ರೀಮ್ ಪ್ರದೇಶಗಳಲ್ಲಿ ಹುಡುಕುತ್ತದೆ, ನಂತರ ಐಚ್ಛಿಕವಾಗಿ ಅವುಗಳನ್ನು ಸಂಕುಚಿತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತದೆ, ಪ್ರತಿ ಪ್ರದೇಶವನ್ನು ಒಮ್ಮೆ ಮಾತ್ರ ಉಳಿಸುತ್ತದೆ.
ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಡೇಟಾ ಬ್ಲಾಕ್ಗಳ ವಿರುದ್ಧ ಬೈಟ್-ಬೈ-ಬೈಟ್ ಹೊಂದಾಣಿಕೆಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಸ್ಲೈಡಿಂಗ್ ವಿಂಡೋದೊಂದಿಗೆ 64-ಬಿಟ್ ರಿಂಗ್ ಹ್ಯಾಶ್ ಕಾರ್ಯವನ್ನು ಡಿಪ್ಲಿಕೇಶನ್ ಬಳಸುತ್ತದೆ (rsync ಅದನ್ನು ಹೇಗೆ ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ ಎಂಬುದರಂತೆಯೇ).
ಮಲ್ಟಿ-ಥ್ರೆಡ್ lzma ಮತ್ತು lzo ಅನ್ನು ಸಂಕೋಚನಕ್ಕಾಗಿ ಮತ್ತು aes ಗೂಢಲಿಪೀಕರಣಕ್ಕಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಗಳು ಭವಿಷ್ಯದಲ್ಲಿ ರೆಪೊಸಿಟರಿಯಿಂದ ಹಳೆಯ ಡೇಟಾವನ್ನು ಅಳಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿವೆ.
ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸಿ ++ ನಲ್ಲಿ ಕನಿಷ್ಠ ಅವಲಂಬನೆಗಳೊಂದಿಗೆ ಬರೆಯಲಾಗಿದೆ. ಲೇಖಕರು ಯುನಿಕ್ಸ್-ವೇನಿಂದ ಸ್ಪಷ್ಟವಾಗಿ ಸ್ಫೂರ್ತಿ ಪಡೆದಿದ್ದಾರೆ, ಆದ್ದರಿಂದ ಪ್ರೋಗ್ರಾಂ ಬ್ಯಾಕ್ಅಪ್ಗಳನ್ನು ರಚಿಸುವಾಗ stdin ನಲ್ಲಿ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ, ಮರುಸ್ಥಾಪಿಸುವಾಗ stdout ನಲ್ಲಿ ಇದೇ ರೀತಿಯ ಡೇಟಾ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಹೀಗಾಗಿ, ನಿಮ್ಮ ಸ್ವಂತ ಬ್ಯಾಕಪ್ ಪರಿಹಾರಗಳನ್ನು ಬರೆಯುವಾಗ zbackup ಅನ್ನು ಉತ್ತಮವಾದ "ಬಿಲ್ಡಿಂಗ್ ಬ್ಲಾಕ್" ಆಗಿ ಬಳಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ಲೇಖನದ ಲೇಖಕರು ಸರಿಸುಮಾರು 2014 ರಿಂದ ಮನೆಯ ಯಂತ್ರಗಳಿಗೆ ಮುಖ್ಯ ಬ್ಯಾಕಪ್ ಸಾಧನವಾಗಿ ಈ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಬಳಸಿದ್ದಾರೆ.
ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳದ ಹೊರತು ಡೇಟಾ ಸ್ಟ್ರೀಮ್ ಸಾಮಾನ್ಯ ಟಾರ್ ಆಗಿರುತ್ತದೆ.
ಫಲಿತಾಂಶಗಳು ಏನೆಂದು ನೋಡೋಣ:
ಕೆಲಸವನ್ನು 2 ಆಯ್ಕೆಗಳಲ್ಲಿ ಪರಿಶೀಲಿಸಲಾಗಿದೆ:
- ರೆಪೊಸಿಟರಿಯನ್ನು ರಚಿಸಲಾಗಿದೆ ಮತ್ತು ಮೂಲ ಡೇಟಾದೊಂದಿಗೆ ಸರ್ವರ್ನಲ್ಲಿ zbackup ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ, ನಂತರ ರೆಪೊಸಿಟರಿಯ ವಿಷಯಗಳನ್ನು ಬ್ಯಾಕಪ್ ಶೇಖರಣಾ ಸರ್ವರ್ಗೆ ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ.
- ಬ್ಯಾಕ್ಅಪ್ ಶೇಖರಣಾ ಸರ್ವರ್ನಲ್ಲಿ ರೆಪೊಸಿಟರಿಯನ್ನು ರಚಿಸಲಾಗಿದೆ, ಬ್ಯಾಕಪ್ ಶೇಖರಣಾ ಸರ್ವರ್ನಲ್ಲಿ ssh ಮೂಲಕ zbackup ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಡೇಟಾವನ್ನು ಪೈಪ್ ಮೂಲಕ ಕಳುಹಿಸಲಾಗುತ್ತದೆ.
ಮೊದಲ ಆಯ್ಕೆಯ ಫಲಿತಾಂಶಗಳು ಈ ಕೆಳಗಿನಂತಿವೆ: 43m11s - ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡದ ರೆಪೊಸಿಟರಿ ಮತ್ತು lzma ಸಂಕೋಚಕವನ್ನು ಬಳಸುವಾಗ, 19m13s - ಸಂಕೋಚಕವನ್ನು lzo ನೊಂದಿಗೆ ಬದಲಾಯಿಸುವಾಗ.
ಮೂಲ ಡೇಟಾದೊಂದಿಗೆ ಸರ್ವರ್ನಲ್ಲಿನ ಲೋಡ್ ಈ ಕೆಳಗಿನಂತಿತ್ತು (lzma ನೊಂದಿಗೆ ಉದಾಹರಣೆಯನ್ನು ತೋರಿಸಲಾಗಿದೆ; lzo ನೊಂದಿಗೆ ಸರಿಸುಮಾರು ಅದೇ ಚಿತ್ರವಿತ್ತು, ಆದರೆ rsync ನ ಪಾಲು ಸಮಯಕ್ಕಿಂತ ಸರಿಸುಮಾರು ಕಾಲು ಭಾಗವಾಗಿತ್ತು):
ಅಂತಹ ಬ್ಯಾಕ್ಅಪ್ ಪ್ರಕ್ರಿಯೆಯು ತುಲನಾತ್ಮಕವಾಗಿ ಅಪರೂಪದ ಮತ್ತು ಸಣ್ಣ ಬದಲಾವಣೆಗಳಿಗೆ ಮಾತ್ರ ಸೂಕ್ತವಾಗಿದೆ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ. zbackup ಅನ್ನು 1 ಥ್ರೆಡ್ಗೆ ಮಿತಿಗೊಳಿಸಲು ಸಹ ಹೆಚ್ಚು ಸಲಹೆ ನೀಡಲಾಗುತ್ತದೆ, ಇಲ್ಲದಿದ್ದರೆ ಹೆಚ್ಚಿನ CPU ಲೋಡ್ ಇರುತ್ತದೆ, ಏಕೆಂದರೆ ಬಹು ಎಳೆಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡುವಲ್ಲಿ ಪ್ರೋಗ್ರಾಂ ತುಂಬಾ ಒಳ್ಳೆಯದು. ಡಿಸ್ಕ್ನಲ್ಲಿನ ಲೋಡ್ ಚಿಕ್ಕದಾಗಿದೆ, ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಆಧುನಿಕ ssd-ಆಧಾರಿತ ಡಿಸ್ಕ್ ಉಪವ್ಯವಸ್ಥೆಯೊಂದಿಗೆ ಗಮನಿಸುವುದಿಲ್ಲ. ರಿಮೋಟ್ ಸರ್ವರ್ಗೆ ರೆಪೊಸಿಟರಿ ಡೇಟಾವನ್ನು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡುವ ಪ್ರಕ್ರಿಯೆಯ ಪ್ರಾರಂಭವನ್ನು ಸಹ ನೀವು ಸ್ಪಷ್ಟವಾಗಿ ನೋಡಬಹುದು; ಕಾರ್ಯಾಚರಣೆಯ ವೇಗವು ಸಾಮಾನ್ಯ rsync ಗೆ ಹೋಲಿಸಬಹುದು ಮತ್ತು ಬ್ಯಾಕಪ್ ಶೇಖರಣಾ ಸರ್ವರ್ನ ಡಿಸ್ಕ್ ಉಪವ್ಯವಸ್ಥೆಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಈ ವಿಧಾನದ ಅನನುಕೂಲವೆಂದರೆ ಸ್ಥಳೀಯ ರೆಪೊಸಿಟರಿಯ ಸಂಗ್ರಹಣೆ ಮತ್ತು ಪರಿಣಾಮವಾಗಿ, ಡೇಟಾದ ನಕಲು.
ಪ್ರಾಯೋಗಿಕವಾಗಿ ಹೆಚ್ಚು ಆಸಕ್ತಿದಾಯಕ ಮತ್ತು ಅನ್ವಯಿಸುವ ಎರಡನೆಯ ಆಯ್ಕೆಯಾಗಿದೆ, ಬ್ಯಾಕ್ಅಪ್ ಶೇಖರಣಾ ಸರ್ವರ್ನಲ್ಲಿ ನೇರವಾಗಿ zbackup ಅನ್ನು ಚಾಲನೆ ಮಾಡುತ್ತದೆ.
ಮೊದಲಿಗೆ, lzma ಸಂಕೋಚಕದೊಂದಿಗೆ ಗೂಢಲಿಪೀಕರಣವನ್ನು ಬಳಸದೆಯೇ ನಾವು ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಪರೀಕ್ಷಿಸುತ್ತೇವೆ:
ಪ್ರತಿ ಪರೀಕ್ಷಾರ್ಥ ಚಾಲನೆಯ ಸಮಯ:
ಲಾಂಚ್ 1
ಲಾಂಚ್ 2
ಲಾಂಚ್ 3
39 ಮೀ 45 ಸೆ
40 ಮೀ 20 ಸೆ
40 ಮೀ 3 ಸೆ
7 ಮೀ 36 ಸೆ
8 ಮೀ 3 ಸೆ
7 ಮೀ 48 ಸೆ
15 ಮೀ 35 ಸೆ
15 ಮೀ 48 ಸೆ
15 ಮೀ 38 ಸೆ
ನೀವು aes ಬಳಸಿಕೊಂಡು ಎನ್ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ, ಫಲಿತಾಂಶಗಳು ತುಂಬಾ ಹತ್ತಿರದಲ್ಲಿವೆ:
ಗೂಢಲಿಪೀಕರಣದೊಂದಿಗೆ ಅದೇ ಡೇಟಾದಲ್ಲಿ ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯ:
ಲಾಂಚ್ 1
ಲಾಂಚ್ 2
ಲಾಂಚ್ 3
43 ಮೀ 40 ಸೆ
44 ಮೀ 12 ಸೆ
44 ಮೀ 3 ಸೆ
8 ಮೀ 3 ಸೆ
8 ಮೀ 15 ಸೆ
8 ಮೀ 12 ಸೆ
15 ಮೀ 0 ಸೆ
15 ಮೀ 40 ಸೆ
15 ಮೀ 25 ಸೆ
ಎನ್ಕ್ರಿಪ್ಶನ್ ಅನ್ನು lzo ಬಳಸಿಕೊಂಡು ಸಂಕೋಚನದೊಂದಿಗೆ ಸಂಯೋಜಿಸಿದರೆ, ಅದು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:
ಕೆಲಸದ ಸಮಯ:
ಲಾಂಚ್ 1
ಲಾಂಚ್ 2
ಲಾಂಚ್ 3
18 ಮೀ 2 ಸೆ
18 ಮೀ 15 ಸೆ
18 ಮೀ 12 ಸೆ
5 ಮೀ 13 ಸೆ
5 ಮೀ 24 ಸೆ
5 ಮೀ 20 ಸೆ
8 ಮೀ 48 ಸೆ
9 ಮೀ 3 ಸೆ
8 ಮೀ 51 ಸೆ
ಪರಿಣಾಮವಾಗಿ ರೆಪೊಸಿಟರಿಯ ಗಾತ್ರವು 13GB ನಲ್ಲಿ ತುಲನಾತ್ಮಕವಾಗಿ ಒಂದೇ ಆಗಿರುತ್ತದೆ. ಇದರರ್ಥ ಡಿಪ್ಲಿಕೇಶನ್ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ. ಅಲ್ಲದೆ, ಈಗಾಗಲೇ ಸಂಕುಚಿತಗೊಳಿಸಿದ ಡೇಟಾದಲ್ಲಿ, lzo ಅನ್ನು ಬಳಸುವುದು ಗಮನಾರ್ಹ ಪರಿಣಾಮವನ್ನು ನೀಡುತ್ತದೆ; ಒಟ್ಟು ಕಾರ್ಯಾಚರಣೆಯ ಸಮಯದ ಪರಿಭಾಷೆಯಲ್ಲಿ, zbackup ಡ್ಯುಪ್ಲಿಸಿಟಿ/ಡೂಪ್ಲಿಕಾಟಿಗೆ ಹತ್ತಿರದಲ್ಲಿದೆ, ಆದರೆ librsync ಅನ್ನು ಆಧರಿಸಿ 2-5 ಪಟ್ಟು ಹಿಂದುಳಿದಿದೆ.
ಅನುಕೂಲಗಳು ಸ್ಪಷ್ಟವಾಗಿವೆ - ಬ್ಯಾಕಪ್ ಶೇಖರಣಾ ಸರ್ವರ್ನಲ್ಲಿ ಡಿಸ್ಕ್ ಜಾಗವನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ. ರೆಪೊಸಿಟರಿ ಪರಿಶೀಲನಾ ಸಾಧನಗಳಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ, zbackup ನ ಲೇಖಕರು ಅವುಗಳನ್ನು ಒದಗಿಸುವುದಿಲ್ಲ; ದೋಷ-ಸಹಿಷ್ಣು ಡಿಸ್ಕ್ ಅರೇ ಅಥವಾ ಕ್ಲೌಡ್ ಪ್ರೊವೈಡರ್ ಅನ್ನು ಬಳಸಲು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ.
ಒಟ್ಟಾರೆಯಾಗಿ, ಯೋಜನೆಯು ಸುಮಾರು 3 ವರ್ಷಗಳಿಂದ ಇನ್ನೂ ನಿಂತಿದ್ದರೂ (ಕೊನೆಯ ವೈಶಿಷ್ಟ್ಯದ ವಿನಂತಿಯು ಸುಮಾರು ಒಂದು ವರ್ಷದ ಹಿಂದೆ, ಆದರೆ ಪ್ರತಿಕ್ರಿಯೆಯಿಲ್ಲದೆ) ಉತ್ತಮವಾದ ಅನಿಸಿಕೆ.
ಬೋರ್ಗ್ಬ್ಯಾಕ್ಅಪ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ
Borgbackup ಬೇಕಾಬಿಟ್ಟಿಯಾಗಿ ಒಂದು ಫೋರ್ಕ್ ಆಗಿದೆ, zbackup ಹೋಲುವ ಮತ್ತೊಂದು ವ್ಯವಸ್ಥೆ. ಪೈಥಾನ್ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ, ಇದು zbackup ಗೆ ಹೋಲುವ ಸಾಮರ್ಥ್ಯಗಳ ಪಟ್ಟಿಯನ್ನು ಹೊಂದಿದೆ, ಆದರೆ ಹೆಚ್ಚುವರಿಯಾಗಿ:
- ಫ್ಯೂಸ್ ಮೂಲಕ ಬ್ಯಾಕ್ಅಪ್ಗಳನ್ನು ಆರೋಹಿಸಿ
- ರೆಪೊಸಿಟರಿ ವಿಷಯಗಳನ್ನು ಪರಿಶೀಲಿಸಿ
- ಕ್ಲೈಂಟ್-ಸರ್ವರ್ ಮೋಡ್ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಿ
- ಡೇಟಾಕ್ಕಾಗಿ ವಿವಿಧ ಸಂಕೋಚಕಗಳನ್ನು ಬಳಸಿ, ಹಾಗೆಯೇ ಅದನ್ನು ಕುಗ್ಗಿಸುವಾಗ ಫೈಲ್ ಪ್ರಕಾರದ ಹ್ಯೂರಿಸ್ಟಿಕ್ ನಿರ್ಣಯ.
- 2 ಎನ್ಕ್ರಿಪ್ಶನ್ ಆಯ್ಕೆಗಳು, aes ಮತ್ತು ಬ್ಲೇಕ್
- ಇದಕ್ಕಾಗಿ ಅಂತರ್ನಿರ್ಮಿತ ಸಾಧನ
ಕಾರ್ಯಕ್ಷಮತೆ ಪರಿಶೀಲನೆಗಳು
ಬೋರ್ಗ್ಬ್ಯಾಕ್ಅಪ್ ಬೆಂಚ್ಮಾರ್ಕ್ crud ssh://backup_server/repo/path local_dir
ಫಲಿತಾಂಶಗಳು ಈ ಕೆಳಗಿನಂತಿದ್ದವು:
CZ-BIG 96.51 MB/s (10 100.00 MB ಎಲ್ಲಾ ಶೂನ್ಯ ಫೈಲ್ಗಳು: 10.36 ಸೆ)
RZ-BIG 57.22 MB/s (10 100.00 MB ಎಲ್ಲಾ ಶೂನ್ಯ ಫೈಲ್ಗಳು: 17.48 ಸೆ)
UZ-BIG 253.63 MB/s (10 100.00 MB ಎಲ್ಲಾ ಶೂನ್ಯ ಫೈಲ್ಗಳು: 3.94 ಸೆ)
DZ-BIG 351.06 MB/s (10 100.00 MB ಎಲ್ಲಾ ಶೂನ್ಯ ಫೈಲ್ಗಳು: 2.85 ಸೆ)
CR-BIG 34.30 MB/s (10 100.00 MB ಯಾದೃಚ್ಛಿಕ ಫೈಲ್ಗಳು: 29.15ಸೆ)
RR-BIG 60.69 MB/s (10 100.00 MB ಯಾದೃಚ್ಛಿಕ ಫೈಲ್ಗಳು: 16.48ಸೆ)
UR-BIG 311.06 MB/s (10 100.00 MB ಯಾದೃಚ್ಛಿಕ ಫೈಲ್ಗಳು: 3.21ಸೆ)
DR-BIG 72.63 MB/s (10 100.00 MB ಯಾದೃಚ್ಛಿಕ ಫೈಲ್ಗಳು: 13.77ಸೆ)
CZ-MEDIUM 108.59 MB/s (1000 1.00 MB ಎಲ್ಲಾ ಶೂನ್ಯ ಫೈಲ್ಗಳು: 9.21 ಸೆ)
RZ-MEDIUM 76.16 MB/s (1000 1.00 MB ಎಲ್ಲಾ ಶೂನ್ಯ ಫೈಲ್ಗಳು: 13.13 ಸೆ)
UZ-MEDIUM 331.27 MB/s (1000 1.00 MB ಎಲ್ಲಾ ಶೂನ್ಯ ಫೈಲ್ಗಳು: 3.02 ಸೆ)
DZ-MEDIUM 387.36 MB/s (1000 1.00 MB ಎಲ್ಲಾ ಶೂನ್ಯ ಫೈಲ್ಗಳು: 2.58 ಸೆ)
CR-MEDIUM 37.80 MB/s (1000 1.00 MB ಯಾದೃಚ್ಛಿಕ ಫೈಲ್ಗಳು: 26.45ಸೆ)
RR-MEDIUM 68.90 MB/s (1000 1.00 MB ಯಾದೃಚ್ಛಿಕ ಫೈಲ್ಗಳು: 14.51ಸೆ)
ಯುಆರ್-ಮೀಡಿಯಂ 347.24 MB/s (1000 1.00 MB ಯಾದೃಚ್ಛಿಕ ಫೈಲ್ಗಳು: 2.88ಸೆ)
DR-MEDIUM 48.80 MB/s (1000 1.00 MB ಯಾದೃಚ್ಛಿಕ ಫೈಲ್ಗಳು: 20.49ಸೆ)
CZ-SMALL 11.72 MB/s (10000 10.00 kB ಎಲ್ಲಾ ಶೂನ್ಯ ಫೈಲ್ಗಳು: 8.53 ಸೆ)
RZ-SMALL 32.57 MB/s (10000 10.00 kB ಎಲ್ಲಾ ಶೂನ್ಯ ಫೈಲ್ಗಳು: 3.07 ಸೆ)
UZ-SMALL 19.37 MB/s (10000 10.00 kB ಎಲ್ಲಾ ಶೂನ್ಯ ಫೈಲ್ಗಳು: 5.16 ಸೆ)
DZ-SMALL 33.71 MB/s (10000 10.00 kB ಎಲ್ಲಾ ಶೂನ್ಯ ಫೈಲ್ಗಳು: 2.97 ಸೆ)
CR-SMALL 6.85 MB/s (10000 10.00 ಕೆಬಿ ಯಾದೃಚ್ಛಿಕ ಫೈಲ್ಗಳು: 14.60ಸೆ)
RR-SMALL 31.27 MB/s (10000 10.00 ಕೆಬಿ ಯಾದೃಚ್ಛಿಕ ಫೈಲ್ಗಳು: 3.20ಸೆ)
UR-SMALL 12.28 MB/s (10000 10.00 ಕೆಬಿ ಯಾದೃಚ್ಛಿಕ ಫೈಲ್ಗಳು: 8.14ಸೆ)
DR-SMALL 18.78 MB/s (10000 10.00 ಕೆಬಿ ಯಾದೃಚ್ಛಿಕ ಫೈಲ್ಗಳು: 5.32ಸೆ)
ಪರೀಕ್ಷಿಸುವಾಗ, ಫೈಲ್ ಪ್ರಕಾರವನ್ನು (ಸಂಕುಚಿತ ಸ್ವಯಂ) ನಿರ್ಧರಿಸಲು ಕಂಪ್ರೆಷನ್ ಹ್ಯೂರಿಸ್ಟಿಕ್ಸ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ಫಲಿತಾಂಶಗಳು ಈ ಕೆಳಗಿನಂತಿರುತ್ತವೆ:
ಮೊದಲಿಗೆ, ಗೂಢಲಿಪೀಕರಣವಿಲ್ಲದೆ ಅದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸೋಣ:
ಕೆಲಸದ ಸಮಯ:
ಲಾಂಚ್ 1
ಲಾಂಚ್ 2
ಲಾಂಚ್ 3
4 ಮೀ 6 ಸೆ
4 ಮೀ 10 ಸೆ
4 ಮೀ 5 ಸೆ
56s
58s
54s
1 ಮೀ 26 ಸೆ
1 ಮೀ 34 ಸೆ
1 ಮೀ 30 ಸೆ
ನೀವು ರೆಪೊಸಿಟರಿ ದೃಢೀಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ (ದೃಢೀಕೃತ ಮೋಡ್), ಫಲಿತಾಂಶಗಳು ಹತ್ತಿರದಲ್ಲಿವೆ:
ಕೆಲಸದ ಸಮಯ:
ಲಾಂಚ್ 1
ಲಾಂಚ್ 2
ಲಾಂಚ್ 3
4 ಮೀ 11 ಸೆ
4 ಮೀ 20 ಸೆ
4 ಮೀ 12 ಸೆ
1 ಮೀ 0 ಸೆ
1 ಮೀ 3 ಸೆ
1 ಮೀ 2 ಸೆ
1 ಮೀ 30 ಸೆ
1 ಮೀ 34 ಸೆ
1 ಮೀ 31 ಸೆ
aes ಗೂಢಲಿಪೀಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ, ಫಲಿತಾಂಶಗಳು ಹೆಚ್ಚು ಹದಗೆಡಲಿಲ್ಲ:
ಲಾಂಚ್ 1
ಲಾಂಚ್ 2
ಲಾಂಚ್ 3
4 ಮೀ 55 ಸೆ
5 ಮೀ 2 ಸೆ
4 ಮೀ 58 ಸೆ
1 ಮೀ 0 ಸೆ
1 ಮೀ 2 ಸೆ
1 ಮೀ 0 ಸೆ
1 ಮೀ 49 ಸೆ
1 ಮೀ 50 ಸೆ
1 ಮೀ 50 ಸೆ
ಮತ್ತು ನೀವು aes ಅನ್ನು ಬ್ಲೇಕ್ಗೆ ಬದಲಾಯಿಸಿದರೆ, ಪರಿಸ್ಥಿತಿಯು ಸಂಪೂರ್ಣವಾಗಿ ಸುಧಾರಿಸುತ್ತದೆ:
ಕೆಲಸದ ಸಮಯ:
ಲಾಂಚ್ 1
ಲಾಂಚ್ 2
ಲಾಂಚ್ 3
4 ಮೀ 33 ಸೆ
4 ಮೀ 43 ಸೆ
4 ಮೀ 40 ಸೆ
59s
1 ಮೀ 0 ಸೆ
1 ಮೀ 0 ಸೆ
1 ಮೀ 38 ಸೆ
1 ಮೀ 43 ಸೆ
1 ಮೀ 40 ಸೆ
Zbackup ನಂತೆಯೇ, ರೆಪೊಸಿಟರಿಯ ಗಾತ್ರವು 13GB ಮತ್ತು ಸ್ವಲ್ಪ ಕಡಿಮೆಯಾಗಿದೆ, ಇದು ಸಾಮಾನ್ಯವಾಗಿ ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ. ಚಾಲನೆಯಲ್ಲಿರುವ ಸಮಯದಿಂದ ನಾನು ತುಂಬಾ ಸಂತಸಗೊಂಡಿದ್ದೇನೆ; ಇದು ಹೆಚ್ಚು ವಿಶಾಲವಾದ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಒದಗಿಸುವ librsync ಆಧಾರಿತ ಪರಿಹಾರಗಳಿಗೆ ಹೋಲಿಸಬಹುದಾಗಿದೆ. ಪರಿಸರ ವೇರಿಯಬಲ್ಗಳ ಮೂಲಕ ವಿವಿಧ ನಿಯತಾಂಕಗಳನ್ನು ಹೊಂದಿಸುವ ಸಾಮರ್ಥ್ಯದೊಂದಿಗೆ ನಾನು ಸಂತೋಷಪಟ್ಟಿದ್ದೇನೆ, ಇದು ಸ್ವಯಂಚಾಲಿತ ಮೋಡ್ನಲ್ಲಿ ಬೋರ್ಗ್ಬ್ಯಾಕ್ಅಪ್ ಬಳಸುವಾಗ ಬಹಳ ಗಂಭೀರ ಪ್ರಯೋಜನವನ್ನು ನೀಡುತ್ತದೆ. ಬ್ಯಾಕ್ಅಪ್ ಸಮಯದಲ್ಲಿ ಲೋಡ್ನಲ್ಲಿ ನಾನು ಸಹ ಸಂತಸಗೊಂಡಿದ್ದೇನೆ: ಪ್ರೊಸೆಸರ್ ಲೋಡ್ನಿಂದ ನಿರ್ಣಯಿಸುವುದು, ಬೋರ್ಗ್ಬ್ಯಾಕ್ಅಪ್ 1 ಥ್ರೆಡ್ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
ಅದನ್ನು ಬಳಸುವಾಗ ಯಾವುದೇ ನಿರ್ದಿಷ್ಟ ಅನಾನುಕೂಲತೆಗಳಿಲ್ಲ.
ರೆಸ್ಟಿಕ್ ಪರೀಕ್ಷೆ
ರೆಸ್ಟಿಕ್ ಸಾಕಷ್ಟು ಹೊಸ ಪರಿಹಾರವಾಗಿದೆ ಎಂಬ ವಾಸ್ತವದ ಹೊರತಾಗಿಯೂ (ಮೊದಲ 2 ಅಭ್ಯರ್ಥಿಗಳು 2013 ಮತ್ತು ಅದಕ್ಕಿಂತ ಹೆಚ್ಚಿನದರಲ್ಲಿ ತಿಳಿದಿದ್ದರು), ಇದು ಸಾಕಷ್ಟು ಉತ್ತಮ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿದೆ. ಗೋದಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ.
Zbackup ನೊಂದಿಗೆ ಹೋಲಿಸಿದರೆ, ಇದು ಹೆಚ್ಚುವರಿಯಾಗಿ ನೀಡುತ್ತದೆ:
- ರೆಪೊಸಿಟರಿಯ ಸಮಗ್ರತೆಯನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ (ಭಾಗಗಳಲ್ಲಿ ಪರಿಶೀಲಿಸುವುದು ಸೇರಿದಂತೆ).
- ಬ್ಯಾಕ್ಅಪ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಬೆಂಬಲಿತ ಪ್ರೋಟೋಕಾಲ್ಗಳು ಮತ್ತು ಪೂರೈಕೆದಾರರ ದೊಡ್ಡ ಪಟ್ಟಿ, ಹಾಗೆಯೇ ಕ್ಲೌಡ್ ಪರಿಹಾರಗಳಿಗಾಗಿ rclone - rsync ಗೆ ಬೆಂಬಲ.
- 2 ಬ್ಯಾಕ್ಅಪ್ಗಳನ್ನು ಪರಸ್ಪರ ಹೋಲಿಸುವುದು.
- ಫ್ಯೂಸ್ ಮೂಲಕ ರೆಪೊಸಿಟರಿಯನ್ನು ಆರೋಹಿಸುವುದು.
ಸಾಮಾನ್ಯವಾಗಿ, ವೈಶಿಷ್ಟ್ಯಗಳ ಪಟ್ಟಿಯು ಬೋರ್ಗ್ಬ್ಯಾಕ್ಅಪ್ಗೆ ಹತ್ತಿರದಲ್ಲಿದೆ, ಕೆಲವು ಸ್ಥಳಗಳಲ್ಲಿ ಹೆಚ್ಚು, ಇತರರಲ್ಲಿ ಕಡಿಮೆ. ಒಂದು ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ ಎನ್ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಯಾವುದೇ ಮಾರ್ಗವಿಲ್ಲ ಮತ್ತು ಆದ್ದರಿಂದ ಬ್ಯಾಕಪ್ ಪ್ರತಿಗಳನ್ನು ಯಾವಾಗಲೂ ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಸಾಫ್ಟ್ವೇರ್ನಿಂದ ಏನನ್ನು ಹಿಂಡಬಹುದು ಎಂಬುದನ್ನು ಪ್ರಾಯೋಗಿಕವಾಗಿ ನೋಡೋಣ:
ಫಲಿತಾಂಶಗಳು ಈ ಕೆಳಗಿನಂತಿದ್ದವು:
ಕೆಲಸದ ಸಮಯ:
ಲಾಂಚ್ 1
ಲಾಂಚ್ 2
ಲಾಂಚ್ 3
5 ಮೀ 25 ಸೆ
5 ಮೀ 50 ಸೆ
5 ಮೀ 38 ಸೆ
35s
38s
36s
1 ಮೀ 54 ಸೆ
2 ಮೀ 2 ಸೆ
1 ಮೀ 58 ಸೆ
ಕಾರ್ಯಕ್ಷಮತೆಯ ಫಲಿತಾಂಶಗಳನ್ನು rsync-ಆಧಾರಿತ ಪರಿಹಾರಗಳಿಗೆ ಹೋಲಿಸಬಹುದು ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ, ಬೋರ್ಗ್ಬ್ಯಾಕ್ಅಪ್ಗೆ ತುಂಬಾ ಹತ್ತಿರದಲ್ಲಿದೆ, ಆದರೆ CPU ಲೋಡ್ ಹೆಚ್ಚಾಗಿರುತ್ತದೆ (ಬಹು ಥ್ರೆಡ್ಗಳು ಚಾಲನೆಯಲ್ಲಿದೆ) ಮತ್ತು ಸಾಟೂತ್.
ಹೆಚ್ಚಾಗಿ, ಪ್ರೋಗ್ರಾಂ ಡೇಟಾ ಶೇಖರಣಾ ಸರ್ವರ್ನಲ್ಲಿನ ಡಿಸ್ಕ್ ಉಪವ್ಯವಸ್ಥೆಯ ಕಾರ್ಯಕ್ಷಮತೆಯಿಂದ ಸೀಮಿತವಾಗಿದೆ, ಇದು ಈಗಾಗಲೇ rsync ನಲ್ಲಿದೆ. ರೆಪೊಸಿಟರಿ ಗಾತ್ರವು 13GB ಆಗಿತ್ತು, zbackup ಅಥವಾ borgbackup ನಂತೆ, ಈ ಪರಿಹಾರವನ್ನು ಬಳಸುವಾಗ ಯಾವುದೇ ಸ್ಪಷ್ಟ ಅನಾನುಕೂಲತೆಗಳಿಲ್ಲ.
ರೆಸೆಲ್ಯೂಟ್ಸ್
ವಾಸ್ತವವಾಗಿ, ಎಲ್ಲಾ ಅಭ್ಯರ್ಥಿಗಳು ಒಂದೇ ರೀತಿಯ ಫಲಿತಾಂಶಗಳನ್ನು ಸಾಧಿಸಿದ್ದಾರೆ, ಆದರೆ ವಿಭಿನ್ನ ಬೆಲೆಗಳಲ್ಲಿ. Borgbackup ಎಲ್ಲಕ್ಕಿಂತ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿತು, ರೆಸ್ಟಿಕ್ ಸ್ವಲ್ಪ ನಿಧಾನವಾಗಿತ್ತು, zbackup ಬಹುಶಃ ಬಳಸಲು ಪ್ರಾರಂಭಿಸಲು ಯೋಗ್ಯವಾಗಿಲ್ಲ,
ಮತ್ತು ಇದು ಈಗಾಗಲೇ ಬಳಕೆಯಲ್ಲಿದ್ದರೆ, ಅದನ್ನು ಬೋರ್ಗ್ಬ್ಯಾಕ್ಅಪ್ ಅಥವಾ ರೆಸ್ಟಿಕ್ಗೆ ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿ.
ಸಂಶೋಧನೆಗಳು
ಅತ್ಯಂತ ಭರವಸೆಯ ಪರಿಹಾರವು ರೆಸ್ಟಿಕ್ ಎಂದು ತೋರುತ್ತದೆ, ಏಕೆಂದರೆ... ಕಾರ್ಯಾಚರಣಾ ವೇಗಕ್ಕೆ ಸಾಮರ್ಥ್ಯಗಳ ಅತ್ಯುತ್ತಮ ಅನುಪಾತವನ್ನು ಹೊಂದಿರುವವನು, ಆದರೆ ಸದ್ಯಕ್ಕೆ ಸಾಮಾನ್ಯ ತೀರ್ಮಾನಗಳಿಗೆ ಹೊರದಬ್ಬುವುದು ಬೇಡ.
Borgbackup ಮೂಲಭೂತವಾಗಿ ಕೆಟ್ಟದ್ದಲ್ಲ, ಆದರೆ zbackup ಅನ್ನು ಬಹುಶಃ ಉತ್ತಮವಾಗಿ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ. ನಿಜ, 3-2-1 ನಿಯಮವು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು zbackup ಅನ್ನು ಇನ್ನೂ ಬಳಸಬಹುದು. ಉದಾಹರಣೆಗೆ, (lib)rsync-ಆಧಾರಿತ ಬ್ಯಾಕಪ್ ಸೌಲಭ್ಯಗಳ ಜೊತೆಗೆ.
ಪ್ರಕಟಣೆ
ಬ್ಯಾಕಪ್ ಭಾಗ 5: ಲಿನಕ್ಸ್ಗಾಗಿ ಬ್ಯಾಕುಲಾ ಮತ್ತು ವೀಮ್ ಬ್ಯಾಕಪ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ
ಬ್ಯಾಕಪ್ ಭಾಗ 6: ಬ್ಯಾಕಪ್ ಪರಿಕರಗಳನ್ನು ಹೋಲಿಸುವುದು
ಬ್ಯಾಕಪ್ ಭಾಗ 7: ತೀರ್ಮಾನಗಳು
ಪೋಸ್ಟ್ ಮಾಡಿದವರು: ಪಾವೆಲ್ ಡೆಮ್ಕೋವಿಚ್
ಮೂಲ: www.habr.com