SnapMirror cài đặt Script
Tôi có nhiệm vụ sao chép một filer khách hàng hiện tại hệ thống DR mới của họ. Đây là một hệ thống khá lớn, và tạo SnapMirrors không phải là đặc biệt phức tạp, nó là tốn thời gian. Vì vậy, như với nhiều điều tôi làm, tôi đã viết một kịch bản để giúp đạt được nhiệm vụ này nhanh hơn, và đi có một cà phê.
Bạn sẽ cần trước khi chia sẻ phím thiết lập (bao giờ), nhưng phần còn lại được nhắc nhở cho. Có không có xác nhận dữ liệu (không có gì ngạc nhiên). Các kịch bản sẽ sản xuất 4 tập tin văn bản, một cho việc tạo ra / hạn chế tất cả các khối lượng, một trong cho "snapmirror.conf", được sử dụng trong nơi "snapmirror.conf" trong khi bạn đang làm việc khởi tạo cơ bản, và cuối cùng một khởi tạo snapmirrors. Không có trí thông minh xung quanh suối đồng thời, để khởi tạo vẫn còn là một chút của một hành động tung hứng và trò chơi chờ đợi.
Xin vui lòng cho tôi biết nếu bạn thấy hữu ích.
based on 5 ratings# / Bin / bash
echo "Xin vui lòng nhập vào tên của filer tiểu học:
đọc PRI_FILERecho "Xin vui lòng nhập vào tên của filer DR:
đọc DR_FILERConnectString = "ssh-c 3des"
# ConnectString = "rsh"SnapMirrorHour = 22
SnapMirrorMinute = 0
SnapMirrorStagger = 5echo ""> $ {DR_FILER} _filer_volumes.txt
echo ""> $ {DR_FILER} _snapmirror.conf
echo ""> $ {DR_FILER} _sm_initialize.txt một
echo ""> $ {DR_FILER} _snapmirror_init.confAGGR trong $ {ConnectString} $ PRI_FILER "aggr tình trạng" | awk '$ 2 ~ / Nhà nước / {print $ 1}' `
làm
SIZE = `$ {ConnectString} PRI_FILER" df-Ah $ AGGR "| sed 's / \ ([0-9] [KMGT] \) B / \ 1 / g' |. Awk '$ 1 ~ / ảnh chụp | tổng hợp / {print $ 2} '`
VOL `$ {ConnectString} $ PRI_FILER" aggr show_space $ AGGR "| awk '$ 1 ~ / Space / {print $ 0}!' | awk '$ 4 ~ / lượng | file | không / {print $ 1}'`
làm
echo "vol tạo ra $ {VOL}-s không có $ {AGGR} $ {SIZE}" >> $ {DR_FILER} _filer_volumes.txt
echo "vol hạn chế $ {VOL}" >> $ {DR_FILER} _filer_volumes.txt
vang SnapMirror khởi tạo-S $ {PRI_FILER}: $ {VOL} $ {DR_FILER}: $ {VOL} ">> $ {DR_FILER} _sm_initialize.txt
echo "$ {PRI_FILER}: $ {VOL} $ {DR_FILER}: $ {VOL} - $. {SnapMirrorMinute} $ {SnapMirrorHour} **" >> $ {DR_FILER} _snapmirror.conf
echo "$ {PRI_FILER}: $ {VOL} $ {DR_FILER}: $ {VOL} -----" >> $ {DR_FILER} _snapmirror_init.confSnapMirrorMinute = `expr $ SnapMirrorMinute + $ SnapMirrorStagger`
nếu [$ SnapMirrorMinute-gt 58]
sau đó
SnapMirrorMinute = 0
SnapMirrorHour = `expr $ SnapMirrorHour + 1`
fi
nếu [$ SnapMirrorHour-gt 23]
sau đó
SnapMirrorHour = 0
fi
thực hiện
thực hiện










































Tuyệt vời kịch bản. Đây chỉ là những điều chúng ta cần ... các lệnh chính xác cho việc này và chạy càng nhanh càng tốt.
Đây là lần đầu tiên tôi đã thiết lập SnapMirror và tôi có một câu hỏi. Khi bạn đang chạy thông qua vòng lặp để cư trú của bạn $ {DR_FILER} _filer_volumes.txt tập tin có vẻ như bạn đang đi để tạo tất cả các khối lượng với kích thước của phụ huynh $ {AGGR} $ {PRI_FILER}. Có đúng không?
Ví dụ, $ của tôi {PRI_FILER. Có một aggr_sas tổng hợp có tiêu đề với một kích thước của 2850G. (Nó có một kệ gắn liền với nó với một aggr có tiêu đề aggr_sata nhưng đó không phải là một phần của dữ liệu được nhân đôi) có 5 khối lượng: vol0 (hệ điều hành), vol_swap, vol_win2003, vol_win2008, và vol_linux. Nếu tôi đang đọc kịch bản của bạn đúng cách, những khối lượng sẽ được thêm vào $ {DR_FILER} _filer_volumes.txt với kích thước của 2850G.
Là đúng?
Có, về cơ bản những gì xảy ra là khối lượng được cấp quyền mỏng với kích thước tổng hợp (kịch bản "vol tạo -S không "Đặt khối lượng đặt không gian không có). Điều này cho phép nó phát triển tự động khi bạn phát triển các khối lượng chính, vì vậy làm cho cuộc sống của bạn dễ dàng hơn một chút. SnapMirror rides cung cấp mỏng thiết lập và khối lượng sẽ xuất hiện để phù hợp với kích thước khối lượng sơ cấp trang web, tuy nhiên trong thực tế khối lượng cơ bản là lớn hơn và vì vậy tự động có thể phát triển. Thông báo trước là bạn theo dõi việc sử dụng không gian trên hệ thống DR của bạn!
Lúc Chris Kranz
Cảm ơn bạn đã trả lời nhanh chóng của bạn ... và rằng kịch bản xấu xa bệnh! Bạn đã giúp tôi khá một chút.
Trường hợp kịch bản này phải được chạy từ?
Kịch bản được viết bằng Linux BASH, do đó, lý tưởng bạn muốn chạy nó từ một hộp Linux giống một số. Nó có thể làm việc trên * NIX hương vị khác, nhưng tôi đã không kiểm tra này.