I wasn’t going to post this, but since someone
asked, why not.
I
previously blogged about a bespoke 7 to C migration tool that I wrote called 7CGT. The
tool I present here - CS7C (for CIFS Shares 7 to C) - is essentially the original 7CGT just massively
cut down with only the bit that translates 7-Mode CIFS shares to C-Mode
Clustershell commands. CS7C enables scripted application of the
to-be-transitioned shares.
It’s
easiest to explain how it works with a very simple demo. It works offline and
online - I demo the online method since it’s the easiest to demo. The online
method is where you have access to 7-Mode and cDOT systems; offline is where
you only have access to config files.
Demo - Walkthrough
7-Mode
Controller =192.168.0.121
vFiler =
vfiler0
Volume =
vol1_NAS
Cluster
= cluster1
Vserver
= vserver1
1) Create a file called “CS7C.VolsToMigrate.txt”.
This file contains lines of:
7-Mode
Controller,vFiler,volume
In this
example, the “CS7C.VolsToMigrate.txt” file contains:
192.168.0.121,vfiler0,vol1_NAS
2) Run CS7C in PowerShell>
.\CS7C.ps1
3) Answer the prompts.
4) View the output.
Demo - The Prompts
See the
images below for screenshots taken from the PowerShell.
The
prompts and answers in this demo are:
- Output File Prefix?
fas01_vfiler0_vol1_NAS_cluster1_vserver1
- Are volume names changing
going to CDOT (yes/no)? n
- Online acquisition of
7-Mode Config Files (yes/no)? y
- 7-Mode Username: root
- 7-Mode Password: ********
- Enter the Cluster:
cluster1
- Enter the SVM: vserver1
- Online cDOT data
acquisition (yes/no)? y
- Cluster Username: admin
- Cluster Password: ********
- Are volumes mounted with
/vol in the CDOT Junction Path (yes/no)? y
- Is this workstation on the
same Domain as the systems being transitioned (yes/no)? y
Image: CIFS Shares 7 to C: Demo Data Collection
part I
Image: CIFS Shares 7 to C: Demo Data Collection
part II
Image: CIFS Shares 7 to C: Presenting the 7-Mode
CIFS shares (for verification since it parses the cifsconfig_share.cfg file(s))
Demo - The Output
And
below is the output we get.
Note: It creates specific VOLNAME$ shares. This
may not be something you want but I left it in anyway.
## CS7C: COMMANDS GENERATED
18May2017 ##
##
================================== ##
# CAVEAT UTILITOR! This tool
comes with no support and no warranty, please REVIEW and SANITY CHECK!
# '++ WARNING ++' indicates
detected conflicts - search the output for these and review.
# NB: Transition commands
should be generated from the LATEST 7-Mode and CDOT information!
## >>>>>
COMMANDS TO APPLY CIFS SHARES <<<<< ##
##
========================================= ##
## CIFS: SHARE CREATE
COMMANDS FOR NEW VOLUME$ SHARES ##
##
================================================== ##
# (1) Create VOLUME$ shares
with default properties
# (2) Removes the default
Everyone access
# (3) Adds
BUILTIN\Administrators with Full_Control
# (4) Adds NT
AUTHORITY\Authenticated Users with Change
# cluster1::>
vserver cifs share create
-vserver vserver1 -share-name vol1_NAS$ -path /vol/vol1_NAS -share-properties
browsable,oplocks,changenotify -symlink-properties symlinks -offline-files
manual -vscan-fileop-profile standard
# cluster1::>
vserver cifs share
access-control create -vserver vserver1 -share vol1_NAS$ -user-or-group
BUILTIN\Administrators -permission Full_Control
# cluster1::>
vserver cifs share
access-control create -vserver vserver1 -share vol1_NAS$ -user-or-group
"NT AUTHORITY\Authenticated Users" -permission Change
# cluster1::>
vserver cifs share
access-control delete -vserver vserver1 -share vol1_NAS$ -user-or-group
Everyone
## CIFS: SHARE CREATE AND
ACCESS COMMANDS ##
##
====================================== ##
# NB1: We ignore the 7-Mode
default shares ETC$,HOME,C$ and OLDVOLUMENAME$ shares
# NB2: A CIFS share create
automatically gives Everyone Full_control, we do not recreate this!
# Before starting please run
the below:
# cluster1::>
rows 0
cifs share access-control
show -fields share -vserver vserver1
# RECORD THE NUMBER OF ACLS
ABOVE FOR LATER USE!
## FOR 192.168.0.121 AND
VFILER vfiler0 ##
# cluster1::>
vserver cifs share create
-vserver vserver1 -share-name "cifstest" -path
"/vol/vol1_NAS" -share-properties browsable,oplocks,changenotify
-symlink-properties symlinks -offline-files manual -vscan-fileop-profile
standard
vserver cifs share create
-vserver vserver1 -share-name "cifstest2" -path
"/vol/vol1_NAS" -share-properties browsable,oplocks,changenotify
-symlink-properties symlinks -offline-files manual -vscan-fileop-profile
standard
vserver cifs share create
-vserver vserver1 -share-name "cifstest3" -path
"/vol/vol1_NAS" -share-properties browsable,oplocks,changenotify
-symlink-properties symlinks -offline-files manual -vscan-fileop-profile
standard
# cluster1::>
# TO VERIFY THE CORRECT
NUMBER OF SHARES HAVE BEEN CREATED:
# cluster1::>
cifs share show -path
*vol1_NAS* -fields share-name -vserver vserver1
# EXPECTED SHARES = 4
# TO VERIFY THE CORRECT
NUMBER OF ACLS EXIST:
# cluster1::>
cifs share access-control
show -fields share -vserver vserver1
# EXPECTED ADDITIONAL ACLS =
3
Comments
Post a Comment