Script d'installation SnapMirror
J'ai eu la tâche de reproduire un déposant existant clients à leur DR nouveau système. Ce fut tout à fait un grand système, et autant que la création d'SnapMirrors n'est pas particulièrement complexe, cela prend du temps. Donc, comme pour beaucoup de choses que je fais, j'ai écrit un script pour aider mon accomplir cette tâche rapidement, et aller n'ont pas encore un autre café.
Vous aurez besoin de pré-partagée configuration des touches (comme toujours), mais le reste est invité à. Il n'y a pas de validation des données (pas de surprise). Le script va afficher 4 fichiers texte, une pour créer / restreindre tous les volumes, un pour le "snapmirror.conf", sur d'être utilisés à la place de "snapmirror.conf" pendant que vous faites de l'initialisation de base, et enfin un à effectivement initialiser les snapmirrors. Il n'y a pas d'intelligence autour de flux simultanés, afin d'initialisation est encore un peu d'un numéro de jonglage et de jeu de l'attente.
S'il vous plaît laissez-moi savoir si vous trouvez cela utile.
based on 5 ratings#! / Bin / bash
echo "S'il vous plaît entrez le nom du déposant principal:"
lire PRI_FILERecho "S'il vous plaît entrez le nom du déposant DR:"
lire 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
echo ""> $ {} DR_FILER _snapmirror_init.confpour AGGR dans `$ {} $ ConnectString PRI_FILER" aggr état "| awk '! $ 2 ~ / Etat / {print $ 1}'`
faire
SIZE = $ {} $ ConnectString PRI_FILER "df-Ah $ AGGR" | 's / \ ([0-9] [KMGT] \) B / \ 1 / g' sed |!. Awk '$ 1 ~ / snapshot | Agrégat / {print $ 2} '`
pour VOL dans `$ {ConnectString} $ PRI_FILER" show_space aggr $ AGGR "| awk '$ 1 ~ / Espace / {print $ 0}!' | awk '$ 4 ~ / volume | file | none / {print $ 1}'`
faire
echo "$ {create vol VOL} none-s $ {} $ {AGGR TAILLE}" >> $ {} DR_FILER _filer_volumes.txt
echo "$ {vol restreindre VOL}" >> $ {} DR_FILER _filer_volumes.txt
echo "SnapMirror initialize-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 SnapMirrorStagger SnapMirrorMinute $ + $`
if [$ SnapMirrorMinute-gt 58]
puis
SnapMirrorMinute = 0
SnapMirrorHour = `expr $ SnapMirrorHour + 1`
fi
if [$ SnapMirrorHour-gt 23]
puis
SnapMirrorHour = 0
fi
fait
fait










































Un script génial. C'est juste la chose dont nous avons besoin ... les commandes exactes pour obtenir cette place et en cours d'exécution le plus rapidement possible.
C'est la première fois que j'ai mis en place SnapMirror et j'ai une question. Lorsque vous exécutez à travers la boucle pour remplir votre dossier "$ {} DR_FILER _filer_volumes.txt 'il semble que vous allez créer chaque volume avec la taille du parent $ {} AGGR sur le $ {} PRI_FILER. Est-ce exact?
Par exemple, mon $ {} PRI_FILER a un total aggr_sas intitulé avec une taille de 2850G. (. Il dispose d'un plateau qui s'y rattachent avec une aggr intitulé aggr_sata mais cela ne va pas être une partie des données en miroir) J'ai 5 volumes: vol0 (l'OS), vol_swap, vol_win2003, vol_win2008, et vol_linux. Si je lis correctement votre script, chacun de ces volumes seront ajoutés à $ {} DR_FILER _filer_volumes.txt avec une taille de 2850G.
Est-ce exact?
Oui, essentiellement ce qui se passe est le volume se provisionnement fin à la taille de l'agrégat (le script ne "vol de créer -S none », Qui fixe la réservation d'espace de volume pour rien). Cela lui permet de croître de façon dynamique comme vous pousser les volumes primaires, fait en sorte de ta vie un peu plus facile. SnapMirror sur-tours le réglage thin provisioning et le volume semble pas correspondre à la taille du site principal de volume, mais en réalité le volume sous-jacent est plus grande et ne peut donc dynamiquement croître. Le seul inconvénient est que vous contrôlez l'utilisation de l'espace sur votre système DR!
@ Chris Kranz
Merci pour votre réponse rapide ... et que le script méchants malades! Vous m'avez aidé à un peu.
Où dois-ce script sera exécuté à partir?
Le script a été écrit en Linux BASH, si idéalement vous l'exécutez à partir d'une boîte Linux de peu de variété. Il peut travailler sur d'autres saveurs * NIX, mais je n'ai pas testé cela.