Archief

Archief voor de 'Command Line'

CIFS data migraties

Bijna naadloos! Soort van ...

Zoals met de meeste van mijn gedachten, het begon met een onschuldige klant query. EMC hebben een aantal zeer leuke ingebouwde tools voor het doen van een naadloze CIFS data migratie, maar NetApp niet. Het is iets dat vaak leidt tot een behoorlijke hoeveelheid problemen en wat zorgvuldige planning met NetApp als we niet over dit. Maar ik dacht vandaag, we beetje doen, ik denk niet dat we goed benutten van de beschikbare hulpmiddelen.

Enter widelinks. Hier is een uittreksel van een NetApp KB-artikel over dit onderwerp (KB 3011420) ...

Een symbolische koppeling is een speciaal bestand aangemaakt door NFS-clients die verwijst naar een ander bestand of map. Widelink items zijn een manier om de absolute symbolische links redirect op de filer. Ze laten de symbolische link bestemming om een ​​aandeel op de filer dezelfde of op een andere filer worden. De volgende voorbeelden illustreren hoe een symlink van volume naar qtree op dezelfde filer te creëren, en van het volume om het volume op verschillende filers.

Wat betekent dit en waarom wordt mijn leven gemakkelijker worden na het lezen van de rest van dit artikel?

Dus als ik een mooie glimmende nieuwe NetApp filer (of een oude die ik heb niet rond te migreren van mijn gegevens op CIFS nog) niet, en ik heb mijn oude CIFS file server die snel nadert falen of uit te ondersteunen. Ik kan maken mijn nieuwe file en delen structuur op mijn NetApp, en gebruik vervolgens widelinks om de gebruiker omgeleid naar de CIFS file server, terwijl ik me zorgen over alle gegevens te kopiëren uit de uren, zonder dat de bal-pijn van het kopiëren van al mijn gegevens allemaal in een keer.

SnapMirror setup script

Ik had de taak om te repliceren een bestaande klanten filer naar hun nieuwe DR-systeem. Dit was een groot systeem, en zo veel als het creëren van SnapMirrors niet is bijzonder ingewikkeld, het is tijdrovend. Dus als met veel dingen die ik doe, ik schreef een script om te helpen dit te bereiken mijn taak sneller, en ga nog een koffie.

Je moet vooraf gedeelde sleutels setup (als altijd), maar de rest is gevraagd. Er is geen gegevensvalidatie (geen verrassing). Het script zal worden uitgevoerd 4 tekstbestanden, een voor het maken / beperken van de volumes, een voor de "snapmirror.conf", op om gebruikt te worden in plaats van "snapmirror.conf" terwijl je aan het doen de baseline initialisatie, en tenslotte een aan eigenlijk initialiseren snapmirrors. Er is geen intelligentie rond gelijktijdige streams, zodat initialisatie is nog steeds een beetje van een jongleeract en wachten spel.

Laat het me weten als je dit nuttig.

#! / Bin / bash

echo "Voer de naam van de primaire filer:"
lees PRI_FILER

echo "Voer de naam van de DR filer:"
lees DR_FILER

ConnectString = "ssh-c 3DES"
# ConnectString = "rsh"

SnapMirrorHour = 22
SnapMirrorMinute = 0
SnapMirrorStagger = 5

echo ""> $ {} DR_FILER _filer_volumes.txt
echo ""> $ {} DR_FILER _snapmirror.conf
echo ""> $ {} DR_FILER _sm_initialize.txt
echo ""> $ {} DR_FILER _snapmirror_init.conf

voor AGGR in `$ {ConnectString} $ PRI_FILER" aggr status "| awk '! 2 dollar ~ / staat / {print $ 1}'`
doen
SIZE = `$ {ConnectString} $ PRI_FILER" df-Ah $ AGGR "| sed 's / \ ([0-9] [KMGT] \) B / \ 1 / g' |. Awk '$ 1 ~ / snapshot | aggregaat / {print $ 2} '`
voor VOL in `$ {ConnectString} $ PRI_FILER" aggr show_space $ AGGR "| awk '$ 1 ~ / Space / {print $ 0}!' | awk '$ 4 ~ / volume | file | none / {print $ 1}'`
doen
echo "vol $ {} VOL create-s none $ {AGGR} $ {SIZE}">> $ {} DR_FILER _filer_volumes.txt
echo "vol te beperken $ {VOL}">> $ {} DR_FILER _filer_volumes.txt
echo "SnapMirror initialiseren-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.conf

SnapMirrorMinute = `expr $ SnapMirrorMinute + $ SnapMirrorStagger`

NetApp Save Config Command

Ik denk dat het heel belangrijk om op te slaan een config van een goede setup. Ten eerste het is een geweldige referentie als je ooit nodig om terug te gaan en om dingen te verwijzen, ten tweede het is een geweldige manier om te laten zien wat je eigenlijk deed juist was en dat je deed goed te configureren dingen vanaf het begin!

Er is een handige tool die binnen ONTAP om hele config dumps doen, vergelijkt en herstelt. Dit is beperkt tot de filers basis configuratie en niet noodzakelijkerwijs gebieden zoals volume setup.

filer01> config
Gebruik:
config kloon <filer> <remote_user>
config diff [-o <output_file>] <config_file1> [<config_file2>]
config dump [-f] [-v] <config_file>
config te herstellen [-v] <config_file>

Het commando is zeer eenvoudig en rechttoe rechtaan. Je begint door dumping uit de configuratie van de filer. Dit gaat automatisch naar / etc / configs. Vanaf hier kunt u dan klonen van de config indien nodig, of vergelijken (diff) de config. Running diff is een zeer goede manier van het vergelijken van een config tussen 2 punten in de tijd, als je niet zeker weet wat er veranderd is, of zelfs als u een filer upgrade te vergelijken en je kopieert de configuratiebestanden tussen de 2 systemen (kassa NetApp File Copy ). En tot slot kunt u ook gebruik maken van de functie te herstellen, hoewel dit waarschijnlijk een reboot, en kan een invloed hebben op knockon aan wat wel of niet kan worden verlangd in verschillende andere configuratiebestanden in / etc.

Kortom een ​​zeer nuttige commando. Ik gebruik deze het meest voor het nemen van back-ups van Filer configs en deze te vergelijken tussen vergelijkbare systemen (bijvoorbeeld primaire en DR), of zelfs te vergelijken configs in de tijd.

VN: F [1.9.11_1134]
Waardeer dit bericht:
Cijfer: 10,0 / 10 (4 stemmen)

NetApp File Copy

Het komt altijd op, hoe kan ik kopiëren enkele bestanden, of grote gebieden die rechtstreeks uit de NetApp console? Over het algemeen is het antwoord terugkomt, kun je niet gebruiken Robocopy of rsync of een ander bestand migratie tool. Maar er zijn zeker manieren om het kopiëren van bestanden om rechtstreeks van de Filer zelf, en vaak is dit de meest efficiënte manier van doen! Dit zijn echter niet de meest intuïtieve en goed gedocumenteerd commando's.

Er kunnen andere methoden, en als je iets wat je hebt gebruikt in het verleden of je weet van, aarzel dan niet om te delen! Niet alle methoden zijn geschikt voor alle taken, maar elk heeft zijn eigen individuele gebruikt.

ndmpcopy

Dit wordt vaak over het hoofd gezien als een bestand / map kopiëren commando, en wordt vaak alleen gebruikt om rond te migreren hele volumes. In feite kan worden gebruikt om individuele mappen of filers rond te kopiëren, en zelfs beter kunnen worden gebruikt om gegevens naar andere filers exemplaar! Zorg ervoor dat NDMP voor het eerst ingeschakeld (ndmpd op). De syntax is vrij simpel ...

ndmpcopy / vol / vol_source_name / map / file / vol / vol_dest_name / file

Alleen maar om dit af te breken, zijn we kiezen voor een filer uit "/ vol / vol_source_name / map" kopiëren en we willen het kopiëren naar "/ vol / vol_dest_name". Dit is niet te beperkend, we hebben niet om hetzelfde pad te houden, en we kunnen zelfs kopie dingen in hetzelfde volume (zoals het kopiëren van dingen in QTrees als je nodig hebt). U kunt dingen van een hele volume, aan een enkele QTree, tot enkele mappen weg naar beneden in de directory boom. De enige echte beperking is je niet kunt gebruik maken van wildcards, en u kunt niet meerdere bestanden selecteren om te kopiëren.

Als u wilt bestanden van de ene naar de andere kopiëren filer, we gewoon deze syntax te breiden ...

ndmpcopy-sa <gebruiker>: <pass> waarde-da <gebruiker>: <pass> waarde source_filer: / vol / vol_source_name / map / file destination_filer: / vol / vol_dest_name / file

Het verplaatsen / hernoemen vol0

1 comment 13 februari 2009 Chris Kranz een reactie

Er zijn veel gelegenheden waar ik wilde / nodig is om het vol0 verplaatsen naar ergens anders. Afgelopen week had ik een klant die wilde de wortel totaal te vernietigen en bewegen sommige schijven, maar ze hadden al het instellen van de filer en wilde niet aan deze verliezen

Het proces is eigenlijk heel simpel!

VN: F [1.9.11_1134]
Waardeer dit bericht:
Cijfer: 10,0 / 10 (1 vote cast)

Tags: , , , , , Categorieën: Command Line Tags: , , , , ,

Het creëren van iGroups op de DR filer

Dit is een ander script schreef ik op steun op de site failover. In principe is het SnapMirror script werkt geweldig om volumes online te brengen, maar als alles is in VMware (en als zodanig iSCSI vanuit de VM), u wilt dat deze automatisch opnieuw in kaart gebracht, en sla je wat been werk!

Nou, zou dit script uit te voeren vanaf een server zat in de DR plaats dat de toegang tot de primaire filers heeft. Ik heb geprobeerd om dit script mooie dynamiek, zodat u kunt in zoveel primaire filers als je wilt (een 'primary_filers.txt' bestand met een filer naam per regel). Het is echter niet alleen over naar een filer aan de DR kant. Dit zou eenvoudig te verhelpen, maar nogmaals, gewoon met een concept van hoe makkelijk dit soort dingen is bereiken.

De moeilijkheid hier is dat 'igroup show' outputs 'FCP' en 'iSCSI', waar als 'igroup maken verzoeken u' f 'en' i ', dus een beetje meer scripting in het midden om dit op te lossen.

Dit script zorgt voor een script (en indien draaien als een cron, gewoon overschrijft het elke keer) die kunnen worden uitgevoerd om alle iGroups op de DR filer opnieuw. Echt handig als je een paar LUN's die in kaart brengen van nodig hebben. Zelfs doen dit handmatig voor 10 is een pijn. De meeste van mijn klanten hebben ten minste 50 +

VN: F [1.9.11_1134]
Waardeer dit bericht:
Rating: 0.0 / 10 (0 stemmen)

SnapMirror failover

Dus ik hielp een klant een paar maanden geleden (voor SRM) een script voor een complete site failover. Het zal de DR-site online brengen binnen ongeveer 30 minuten, de scripts zijn een beetje onhandig en hebben een grote re-design, dus ik dacht dat ik de originelen hier post.

Dit, denk ik, is een geweldig voorbeeld van hoe flexibel de NetApp-systemen zijn in dat u snel en eenvoudig setup SSH toegang vanaf een management gastheer en script je hart weg! Zodra ik de hang van de API te krijgen, ik weet zeker dat er zal nog veel meer informatie mee te gaan ook.

Dit script zal alle volumes online te brengen op de DR-filer, wat meer is, een volume dat wordt als "_vm" gemerkt aan het einde (dat is een mooie naamconventie toch te gebruiken voor alle VMware volumes), krijgen zal opnieuw toegewezen aan een nieuwe igroup u kiest en al hebt ingesteld voor de DR ESX servers.

Ik heb dit script een beetje aangepast, omdat het schrijven van het naar filer namen te verwijderen, dus ik verwacht niet dat het uit te werken van de doos, net als bij mijn andere scripts, het is gewoon bedoeld om als een voorbeeld van hoe dit kan worden bereikt.

VN: F [1.9.11_1134]
Waardeer dit bericht:
Rating: 0.0 / 10 (0 stemmen)

Virtual Machine Creation

Dit script kan helpen bijhouden wanneer een VM is gemaakt. Ik weet niet zeker of het wel technisch correct werkt op het creëren van een tijd. Vmsd-bestand. Hoe dan ook, de principes zijn er, en moet de klus te klaren.

VN: F [1.9.11_1134]
Waardeer dit bericht:
Rating: 0.0 / 10 (0 stemmen)

Virtual Machine Maten

Dit kan nuttig zijn om bij te houden van wat mensen creëren. Krijgen een index van de Virtual Machine afmetingen en de vrije ruimte in de dataopslag van (zeer belangrijk).

VN: F [1.9.11_1134]
Waardeer dit bericht:
Rating: 0.0 / 10 (0 stemmen)

Virtual Machine Logs

Ik haat de VM logs, en in veel gevallen kunt u eindigen met duizenden van hen die zeer moeilijk om zelfs te verwijderen of blader naar de directory. Ik heb dit script draait op een cron een gewone opruimen doen. Als een vanzelfsprekend schakel ik VM loggen nu, maar het kan nog steeds een uitdaging voor het opruimen van alle logbestanden.

VN: F [1.9.11_1134]
Waardeer dit bericht:
Rating: 0.0 / 10 (0 stemmen)

Slecht gedrag heeft geblokkeerd 1214 toegang pogingen in de laatste 7 dagen.

© 2009-2012 Chris Kranz All Rights Reserved
Deze site is niet aangesloten of gesponsorde in ieder geval door NetApp of enige andere onderneming die genoemd binnen.