Problem1: Stale NFS File handle
Sample Error Messages - NFS Error 70
Error Explanation:
A “stale NFS file handle” error message can and usually is caused by the following events:
1. A certain file or directory that is on the NFS server is opened by the NFS client
2. That specific file or directory is deleted either on that server or on another system that
has access to the same share
3. Then that file or directory is accessed on the client
A file handle usually becomes stale when a file or directory referenced by the file handle on
the client is removed by another host, while your client is still holding on to an active reference
to that object.
Resolution Tips
Check connectivity to the storage system (server)
Check mount point
Check client vfstab or fstab as relevant
Check showmount –e filerx from client
Check exportfs from command line of the storage system
Check storage system /etc/exports file
Problem2: NFS server not responding
NFS Server (servername) not responding
Error Explanation: NFS client hangs, mount hangs on all clients
Resolution Tips
Use ping to contact the hostname of the storage system (server) from client
Use ping to contact the client from the storage system
Check ifconfig from the storage system
Check that the correct NFS version is enabled
Check all nfs options on the storage system
Check /etc/rc file for nfs options
Check nfs license
Problem3: Permission denied
nfs mount: mount: /nfs: Permission denied
Error Explanation: Permission is not there but trying to access NFS share from server
Resolution Tips
Check showmount –e filername from client
Try to create a new mountpoint
Check exportfs at the storage system command line to see what system is exporting
Check auditlog for recent exportfs –a
Check the /etc/log/auditlog for messages related to exportfs
Check the storage path with exportfs –s
Check whether the client can mount the resource with the exportfs –c command
Flush the access cache and reload the exports, then retry the mount
Problem4: Network Performance Slow
Poor NFS read and/or write performance
Error Explanation: End user is feeling the slowness
Resolution Tips
Check sysstat 1 for nfs ops/sec vs. kbs/sec
Check parameters on network card interface (NIC) with ifconfig –a
Check netdiag
Check network condition with ifstat –a; netstat –m
Check client side network condition
Check routing table on the storage system with netstat
Check routing table on the client
Check [Link]
Check throughput with sio_ntap tool
Check rsize and wsize
Consider configuring jumbo frames (entire path must support jumbo frames)
Problem5: RPC not responding
RPC: Unable to receive or RPC:Timed out
Resolution Tips
Use ping to contact the storage system (server)
From storage system, use ping to contact client
Check mountpoint
Check showmount –e filerX from client
Verify name of directory on the storage system
Check exportfs to see what the storage system is exporting
Use the "rpcinfo -p filerx" command from the client to verify that the RPCs are running
Problem6: No Space Left On Disk
No space left on disk error
Resolution Tips
Check df for available disk space
Check for snapshot overruns
Check quota report for exceeded quotas
How to check the maximum value of Inode in a volume? Maximum file cmd is to check n
increase, but I need to know the value of tat inodes.
df -i volumename
What is Consistency Point..? How its difference from Snapshot..?
Consistency Point: A CP is triggered whenever the Filesystem reaches a point where it wants to
update the physical data on the disks, with whatever has accumulated in Cache (and was
journaled in NVRAM). Snapshot: A SnapShot is created whenever the snap-schedule is
configured to trigger it or any other operation (SnapManager, SnapDrive, SnapMirror, napVault,
and Administrator) creates a new Snapshot.
Creating a SnapShot also triggers a CP, because the SnapShot is ALWAYS a CONSISTENT IMAGE
fo the Filesystem at this point in time.
There are many areas where the errors can be made and you might experience lots of issues
with the mis-configuration settings. A thorough and deep understanding of the SAN
configuration is needed to troubleshoot any storage related issues. Slight differences can make
a huge data loss and could make the organisation collapse. To troubleshoot any kind of
situation, follow these tips as a starting step before the advanced troubleshooting. There might
be other tools to troubleshoot the issues but these are basic first steps which might help you
save the time.
1) Always take backup of Switch Configurations
Regular backup of switch configurations needs to be done just in regular intervals just in case if
you are unable to troubleshoot the issue and needs to revert back to the previous
configuration. Such backup files tend to be human-readable flat files that are extremely useful if
you need to compare a broken configuration image to a previously known working
configuration. Another option might be to create a new zone configuration each time you make
a change, and maintain previous versions that can be rolled back to if there are problems after
committing the change.
2) Troubleshooting Connectivity Issues
Many of the day-to-day issues that you see are connectivity issues such as hosts not being able
to see a new LUN or not being able to see storage or tape devices on the SAN. Connectivity
issues will be due to misconfigured zoning. Each vendor provides different tools to configure
and troubleshoot zoning, but the following common CLI commands can prove very helpful.
fcping
fcping is an FC version of the popular IP ping tool. fcping allows you to test the following:
Whether a device (N_Port) is alive and responding to FC frames
End-to-end connectivity between two N_Ports
Latency
Zoning between two devices
fcping is available on most switch platforms as well as being a CLI tool for most
operating systems and some HBAs. It works by sending Extended Link Service (ELS) echo
request frames to a destination, and the destination responding with ELS echo response
frames. For example
# fcping 50:01:43:80:05:6c:22:ae
fctrace
Another tool that is modeled on a popular IP networking tool is the fctrace tool. This tool traces
a route/path to an N_Port. The following command shows an fctrace command example
# fctrace fcid 0xef0010 vsan 1
3) Things to check while troubleshooting Zoning
Are your aliases correct ?
If using port zoning, have your switch domain IDs changed ?
If using WWPN zoning, have any of the HBA/WWPNs been changed ?
Is your zone in the active zone set?
4) Rescan the SCSI Bus if required
After making zoning changes, LUN masking changes or any other work that changes a
LUN/volume presentation to a host, you may be required to rescan the SCSI bus on that host in
order to detect the new device. The following command shows how to rescan the SCSI bus on a
Windows server using the diskpart tool
DISKPART> list disk
DISKPART> rescan
If you know that your LUN masking and zoning are correct but the server still does not see the
device, it may be necessary to reboot the host.
5) Understanding Switch Configuration Dumps
Each switch vendor also tends to have a built-in command/script that is used to gather
configs and logs to be sent to the vendor for their tech support groups to analyze. The output
of these commands/scripts can also be useful to you as a storage administrator. Each
vendor has its own version of these commands/scripts
Cisco – show tech-support
Brocade – supportshow or supportsave
QLogic – create support
6) Use Port Error Counters
Switch-based port error counters are an excellent way to identify physical connectivity issues
such as
Bad cables (bent, kinked, or otherwise damaged cables)
Bad connectors (dust on the connectors, loose connectors)
The following example shows the error counters for a physical switch port on a switch:
admin> portshow 4/15
These port counters can sometimes be misleading. It is perfectly normal to see high counts
Against some of the values, and it is common to see values increase when a server is
rebooted and when similar changes occur. If you are not sure what to look for, check your
switch documentation, but also compare the counters to some of your known good ports.
If some counters are increasing on a given port that you are concerned with, but they are not
increasing on some known good ports, then you know that you have a problem on that port.
Other commands show similar error counters as well as port throughput. The
following porterrshow command shows some encoding out (enc out) and class 3 discard (disc
c3) errors on port 0. This may indicate a bad cable, a bad port, or another hardware problem
admin> porterrshow
Commonly used Network ports in Cloud Computing
Lets see the common and widely used network ports that are using by the applications
deployed in cloud computing.
Port 80: Port 80 is reserved for the HTTP protocol which is used for World Wide Web traffic.
Port 20, 21: Port 21 is reserved for use by the File Transfer Protocol (FTP) application. The
FTP server works on port 21 for receiving incoming client FTP connection requests.
Port 22: The Secure Shell SSH, Secure Copy Protocol (SCP) and Secure File Transfer Protocol
(SFTP) all use port 22 for communications. This is how we access linux servers in Cloud.
Port 23: Port 23 is used by Telnet for enabling command-line interface connection to a
device in a network.
Port 25: Port 25 routes mails between email servers and it is generally referred as Simple
Mail Transfer Protocol (SMTP).
Port 53: Port 53 is used by Domain Name System (DNS) service using UDP port 53 for DNS
lookups, which is the standardized port for DNS requests.
Port 443: Port 443 is used for secure HTTP connections. Hypertext Transfer Protocol Secure
uses port 443 to set up an encrypted connection from browser to a secure web server in the
cloud using the SSL/TLS secure protocols.
Port 68: Port 68 is used by Dynamic Host Configuration Protocol (DHCP). Many devices on a
TCP/IP network do not have statically defined IP configurations and they rely on the DHCP
to automatically download its network configurations when the device connects to the
network.
Port 3389: Port 3389 is used by Remote Desktop Protocol (RDP) to enable connection to a
windows server. This is how we connect Windows servers in Cloud.
Types of network Service Protocols
Network services allows the devices in a network to perform certain tasks such as sending files
or email, accessing a web server, and doing background tasks such as performing a DNS name
query. These tasks are generally referred as Network services and the devices needs to follow
some protocols in order to use these services. Below are some of the commonly used network
service protocols in cloud computing.
Hypertext Transfer Protocol (HTTP): This protocol uses port 80 and is a common application to
enable services on web and primarily used on web browsers to access WWW services in the
cloud.
Hypertext Transfer Protocol Secure (HTTPS): This protocol uses port 443 to provide the secure
and encrypted connection to the application through web browser.
The File Transfer Protocol (FTP): This protocol is used to send and receive files between servers
on a network and it uses both ports 20 and 21.
File Transfer Protocol Secure (FTPS): This is the encrypted version of the File Transfer Protocol
and uses ports 989 and 990. FTPS uses the TLS/SSL encryption processes to encrypt the data
that is transmitted over the network.
File Transfer Protocol (SFTP): This protocol is closely related to FTPS and uses port number 22
for secure file transfers over SSH connections.
Secure shell (SSH): This is the encrypted version of the Telnet protocol and is used to access
remote devices using a command-line interface and it uses port 22. This is widely used protocol
in order to access linux based servers in cloud.
Domain Name System (DNS): This is a well-known service uses port 53 for translating the
network address (such as IP addresses) into human readable names such as Domain Names
([Link]) and vice-versa.
The Dynamic Host Configuration Protocol (DHCP): This protocol uses port number 68 and it
allows automatic assignment of IP address information to the devices on a network. This
eliminates manually configuring IP address information.
The Simple Mail Transfer Protocol (SMTP): This protocol uses port 25 and is used to send email
messages between mail servers.
Subnetting/Supernetting
Subnetting allows logical grouping of IP address space to determine the computer IP address
for each of the computers, servers, or devices on that network. This process is called
subnetting.
Internet addresses are allocated the organization which administers the Internet. These IP
addresses are divided into classes A, B, C, D and E. and the commonly used classes are A, B,
and C only. Following are the default ranges of Class A, B, and C Internet addresses.
o Class A – These networks use a default subnet mask of [Link] and have 0-127
as their first octet. For example [Link] is a class A address.
o Class B – These networks use a default subnet mask of [Link] and have 128-
191 as their first octet. For example [Link] is a class B address.
o Class C – These networks use a default subnet mask of [Link] and have
192-223 as their first octet. For example [Link] is a class C address.
Supernetting is similar to subnetting but in reverse. A smaller networks can be combined
with other networks to make one larger network. Supernetting is used when there is a need
for large block of addresses.
VLAN and VLAN Tagging
VLANs or Virtual LANs are logical grouping of devices or a group of devices on one or more
LANs that are configured to communicate as if they were attached to the same network.
VLANs reduce security risks by reducing the number of hosts that receive copies of frames
that and the hosts can hold sensitive data on a separate VLAN to improve security.
Flexible network designs can be created to group users by department instead of by physical
location.
Network changes in a VLAN can be implemented easily by just configuring a port into the
appropriate VLAN.
VLAN tagging is a technique where more than one VLAN is handled on a port and it tells
which packet belongs to which VLAN on the other side.
Troubleshooting Basic Network Connectivity Issues
Cloud network infrastructure often changes as new requirement arise and also it changes as
new services, servers, and storage are added. Network should be monitored using tools and
operating system command-line utilities to ensure that the network configurations are in
desired state. These network utilities can be utilized to test network connectivity, resolve
domain names, look at routing tables and log into remote devices etc. The tools commonly
used to configure and troubleshoot the cloud network infrastructure are
Ping: The ping command is used to verify if a device is available on the network and it also tries
to get response at the same time. It will send a packet to a remote IP address and receives an
acknowledgement. This ping test confirms that the IP address which is attached to the device is
configured correctly and the connection can be established.
Tracert/Traceroute: The traceroute utility is useful for network troubleshooting. This utility
shows the path from source to destination. This helps to determine if the routing is working as
expected or if there is a route failure in the path. If a DNS name is associated with the IP
address, the traceroute utility can resolve the IP address to help identify the device that the
trace utility is taking. On windows OS, the command-line utility is tracert, and on Linux the
command is traceroute.
Telnet: It is a terminal application that allows logins over a command prompt to a remote
device. The Telnet application allows logging into remote servers in the cloud as if they were
locally connected. This is not secure as all the commands are sent over the network in the clear
unencrypted format. Due to this limitation, the SSH is widely used which allows encryption.
Netstat: This utility is used to find the network statistics on both Windows and Linux servers. It
shows the detailed information about the network connections that are currently open to
remote applications.
Nslookup and dig: These command utilities are used to resolve hostnames to IP addresses
using a domain name server (DNS).
ipconfig/ifconfig: ipconfig is on Windows and ifconfig is on Linux are command line utilities
used to verify and configure the local network interfaces. It shows both IP versions 4 and 6
protocols on the command prompt.
route: This command line utility is used in troubleshooting network reachability issues by
looking at the local workstation’s or servers’ routing tables.
NetApp FAS (Fabric Attached Storage) is a line of computer storage products from NetApp,
running the ONTAP operating system. It's known for being a cost-optimized, hybrid flash
storage solution, especially well-suited for backup, disaster recovery, and as a target for
ONTAP-powered cyber vaults.
RTO/RPO
RTO is the goal your organization sets for the maximum length of time it should take to
restore normal operations following an outage or data loss.
RPO is your goal for the maximum amount of data the organization can tolerate losing.
This parameter is measured in time: from the moment a failure occurs to your last valid
data backup. For example, if you experience a failure now and your last full data backup
was 24 hours ago, the RPO is 24 hours
In essence:
RTO: Focuses on how quickly systems must be restored.
RPO: Focuses on how much data can be lost.
NetApp Jumbo Frames
In the networking world, network frames are the basic building blocks and jumbo frames are an
enhanced version of it. NetApp has started recommending using jumbo since they introduced
10Gig Ethernet ports. In this post, we will talk about NetApp Jumbo Frames in detail.
I heard about jumbo frames for the first time, while working with support to resolve a
performance issue. Yes, it’s a very important factor for optimal performance. Enabling jumbo
frames can mess up the performance badly. Hence, I suggest having a better understanding
before implementing it in your NAS environment.
In order to understand jumbo frames, you need to first understand, what exactly a network
frame is.
What Is A Network Frame?
A network frame is building blocks or packets which carry the data from a source device to a
destination device. It mainly consists of 3 parts source address, a destination address, and
payload data. Now, payload data is the part that decides how many bytes of data one frame
can carry. The most common values are 1518 and 9018 bytes.
Eventually, a frame can transmit either 1500 or 9000 bytes and these values are known
as Maximum Transmission Units (MTU). For example, if you have 1GB of data, first the network
device divides it into thousands of frames and then sent to the destination address.
Now, if a frame transmits 1500 bytes, it’s a standard frame but if it transmits 9000 bytes then
it’s a jumbo frame. Now, let’s understand jumbo frames.
What Is NetApp Jumbo Frames?
NetApp Jumbo Frames are network frames that are more than the standard size of 1518 bytes.
In NetApp, any frame whose size is 9018 is a jumbo frame. In other words, if a frame transmits
9000 bytes of data, then it’s a jumbo frame because 18 bytes is to store other parts of the
frame.
Now the question comes, how to enable jumbo frames in cluster and 7 modes. Well, the
answer is to modify the MTU values of the network ports and it will start sending jumbo frames.
How To Enable Jumbo Frames In NetApp?
If you are enabling Jumbo frames in NetApp, you should enable it on all network components
between the client and the NAS storage ports. In case of a mismatch jumbo frame
configuration, you may face network congestion and performance degradation.
You can enable NetApp Jumbo Frames by modifying the MTU values of ethernet ports to 9000.
Once you change the value to 9000, the respective ethernet ports will start sending and
receiving jumbo frames.
Is NetApp Jumbo Frames Improve Performance?
Yes, NetApp jumbo frames improve performance, because they transmit more amounts of data
in a single frame. Due to which the transfer of a large amount of data happens in a short
interval of time. As of result of which, CPU utilization decreases and provides better
performance.
Can we enable jumbo frames in 1Gig ethernet ports?
Yes, you can enable NetApp Jumbo Frames in both 1 Gig and 10 Gig ethernet ports?
How to verify if my NetApp ports are sending Jumbo Frames?
You can run an ifstat command and look for the counters Long Frame or Jumbo. If you see an
increase in those counters, then the NetApp ports are actually receiving and sending frames.
7ModenetApp> ifstat e0a
ClusterModeNetApp::> run -node node1 -command ifstat e0a
Conclusion
Indeed, NetApp Jumbo Frames are an excellent method to increase performance, but you must
discuss it with network and server admins before enabling it. We also have a youtube video on
this topic on our channel. Subscribe to the channel for more such content.
Inode – Netapp Cluster Mode
What is Inode In Netapp Cluster Mode ?
An inode is a data structure or object which contains information about files in Netapp Cluster-
Mode. An inode is a data structure that defines a file, with an exception of filename which is
stored in the directory entry.
The inode number is an integer unique to the volume. Whenever a user creates a new file an
inode is assigned to contain all the information about the file.
What is the Size of Inode In Netapp?
The size of an inode depends upon block size NetApp. Based on the block size of the volume we
can say what would be the size of one inode in NetApp cluster mode. If a NetApp volume has a
block size of 4 KB then the one inode will consume 4 KB of space and if the block size of the
volume is 32 KB then it will consume 32 KB of space.
Command to check block size of the volume
In order to get the block size of NetApp volume we need to run node level command. Below
command output will give you the block size of all volume which belongs to node 01.
run -node Cluster-01 -command vol status -b
How To Calculate Maximum Inode Of Volume In Netapp Cluster Mode?
The simple formula is the total capacity of the volume in KB divided by the block size of the
NetApp. Below is an example where the total volume size is 20 MB or 20480 KB and the block
size is 4 KB.
Formula For Calculating Maximum Inodes In Netapp Cluster Mode
Total Approx Inode = Total Size Of the Volume in KB/Block Size of the Volume
Total Approx Inode = 20480/4 = 5120
5120 is an approximate value for the maximum inode. If you want to know the exact value then
select a value which is much value and then try to increase the Inode. The Ontap will give you
an error and it will also display maximum number of inode that a volume can have.
How to Check Total Number Of Inodes
We can check the total number of inode of volume in NetApp cluster mode by using two
commands.
df -h vol1
The output of the above command will show the total number of free inode and the used inode
of a volume. Hence, and the sum of those free and used inodes will give you the total number
of inodes of the volume.
vol show -vserver vs1 -volume vol1 -fields files
The output of the above command will give the total number of files that can be created in a
volume which is the same as the inode of the volume.
How To Increase Inode Of Volume In Netapp Cluster-Mode?
We need to increase the number of files of volume to increase the inode. As per Netapp best
practice recommendation inode should be increased by 2%.
vol modify -volume vol1 -files 2000
If the value is larger than the maximum inode capacity the OnTap will throw an error.
What Is Load Sharing Mirror Volume In SVM – Netapp Cluster Mode
What Is Load Sharing Mirror Volume In SVM?
As its name suggests load-sharing mirror volume shares the load of a source or production
volume. That simple right but the question arises what type of load it shares, well the answer is
read. Unfortunately, LSM does not handle incoming write requests of the source volume.
Source volume is nothing but the volume which is serving data to the client or end-users. It can
be an NFS, CIFS share, or volume that contains LUN.
Whenever a read request comes to the source volume Data OnTap will see if any load-sharing
mirror volume is present on the node or not. If it finds a load sharing volume then Data
OnTap will route the read request to that volume. This is not applicable for the write request.
How does Load Sharing Mirror Volume work?
In order to understand how the load sharing volume works first let’s discuss the layout of load
sharing volume. You can check out the post on NetApp architecture to know how the NetApp
data flow works.
How Load Sharing Mirror Volume Works
For one source volume there will be load-sharing mirror volume in each node of the cluster.
The LSM volume must be of type DP which stands for data protection.
Now let suppose there is a volume vol1 which is owned by Node 1. Now a user is trying to
access the data using a LIF which is present in Node 2.
In the above scenario, first the read request will come to Node 2 then as the volume is present
in node one Data OnTap will route the request to node 1 via inter-cluster switches.
This will create a small amount of latency. Now if node 2 has a mirror volume then the read
request will be served back from node 2 itself which reduces the latency and network traffic.
How To Create Load Sharing Volume Using Command-Line.
There are three steps to create an LSM volume. We are going to discuss these ones by one.
We will assume that we have two nodes in the cluster. The source volume name is vol1 which
belongs to SVM vs1.
Step 1: Create Load Sharing Mirror Volume In Each Node Of The Cluster
The following command creates a mirror volume vol1 in the SVM vs1 on each node of the
cluster. The naming convention of the load-sharing mirror volumes is recommended by NetApp.
volume create -vserver vs1 -volume vol1_m1 -aggregate aggr_node1 -size 30MB -type DP
volume create -vserver vs1 -volume vol1_m2 -aggregate aggr_node2 -size 30MB -type DP
Step 2: Create Snapmirror Relation Between Source And Mirror Volume
Before replicating data from the source volume to the load-sharing mirror destination
volumes, we need to create a snap mirror relationships for each load-sharing mirror volume.
In our case we need to create two snap mirror relationships. Additionally, you must set the
relationship type as LS which stands for Load Sharing.
snapmirror create -source-path vs1:vol1 -destination-path vs1:vol1_m1 -type LS
snapmirror create -source-path vs1:vol1 -destination-path vs1:vol1_m2 -type LS
Step 3: Start Baseline Copy
Next, we need to initialize the load-sharing mirrors to start a baseline copy between the source
volume and the LSM volumes.
Once the copy is finished the destination volume will be ready to serve the read data. The
following command creates a baseline copy of the source volume named vol1 to all of the load-
sharing mirrors.
Create and initialize ONTAP load-sharing mirror relationships
You should create a load-sharing mirror (LSM) for each SVM root volume that serves NAS data
in the cluster. For clusters consisting of two or more HA pairs, you should consider load-sharing
mirrors of SVM root volumes to ensure the namespace remains accessible to clients in the
event that both nodes of an HA pair fail. Load-sharing mirrors are not suitable for clusters
consisting of a single HA pair.
About this task
If you create an LSM on the same node, and the node is unavailable, you have a single point of
failure, and you do not have a second copy to ensure the data remains accessible to clients. But
when you create the LSM on a node other than the one containing the root volume, or on a
different HA pair, your data is still accessible in the event of an outage.
For example, in a four-node cluster with a root volume on three nodes:
For the root volume on HA 1 node 1, create the LSM on HA 2 node 1 or HA 2 node 2.
For the root volume on HA 1 node 2, create the LSM on HA 2 node 1 or HA 2 node 2.
For the root volume on HA 2 node 1, create the LSM on HA 1 node 1 or HA 1 node 2.
Steps
1. Create a destination volume for the LSM:
volume create -vserver <SVM> -volume <volume> -aggregate <aggregate> -type DP -size
<size>
The destination volume should be the same or greater in size than the root volume.
It is a best practice to name the root and destination volume with suffixes, such
as _root and _m1.
Learn more about volume create in the ONTAP command reference.
The following example creates a load-sharing mirror volume for the root
volume svm1_root in cluster_src:
cluster_src:> volume create -vserver svm1 -volume svm1_m1 -aggregate aggr_1 -size 1gb -
state online -type DP
2. Create a replications job schedule.
3. Create a load-sharing mirror relationship between the SVM root volume and the
destination volume for the LSM:
snapmirror create -source-path <SVM:volume> -destination-path <SVM:volume> -type LS -
schedule <schedule>
Learn more about snapmirror create in the ONTAP command reference.
The following example creates a load-sharing mirror relationship between the root
volume svm1_root and the load-sharing mirror volume svm1_m1:
cluster_src::> snapmirror create -source-path svm1:svm1_root -destination-path
svm1:svm1_m1 -type LS -schedule hourly
The type attribute of the load-sharing mirror changes from DP to LS.
4. Initialize the load-sharing mirror:
snapmirror initialize-ls-set -source-path <SVM:volume>
Learn more about snapmirror initialize in the ONTAP command reference.
The following example initializes the load-sharing mirror for the root volume svm1_root:
cluster_src::> snapmirror initialize-ls-set -source-path svm1:svm1_root
How To Recover Deleted Volume In Netapp Cluster Mode
Step 1. Check Volume Recovery Feature In SVM
First, you need to check if the volume recovery feature is available for an SVM. Execute the
below command to see the current status of volume recovery for an SVM.
vserver show -fields volume-delete-retention-hours -vserver vs1
Step 2. Enable Volume Recovery Feature
The value under volume-delete-retention-hours indicates the retention period of volumes in
an SVM. If its none then the feature is not available. To enable the feature to execute the below
command.
vserver modify -volume-delete-retention-hours 8 -vserver vs1
The above command will set the retention period of 8 hours for all volumes. However, you can
increase the extension period by 48 hours.
Note that this feature will be available for volumes that you are going to delete. If you have
already deleted a volume then this feature will not recover those volumes.
Step 3. Recover Deleted Volume In SVM
Now if you delete a volume then the volume will move to a pending state. You can view those
volumes in the recovery queue. Execute the below command to see volumes under-recovery
queue.
volume recovery-queue show -vserver vs1
You can only recover volumes that are in the recovery queue. The below command will recover
the volume from the recovery queue.
volume recovery-queue recover -vserver vs1 -volume vv4_1033
Step 5. Access Data Post Volume Recovery
After recovering a volume you must follow the below steps to access the data.
1. Rename the volume running the volume rename command.
2. Set up a junction path by running the volume mount command.
3. Create mappings for LUNs in the volume, run the LUN map command.
4. Associate a snapshot policy and an export policy with the volume.
5. Add new quota policy rules for the volume, with the quota policy rule command.
6. Add a QoS policy for the volume, run the volume modify command.
Netapp cluster-mode cli commands
cluster commands
To display overall cluster status
cluster show
To display cluster node status
node show
To check storage system health
system health status show
Check the cluster’s license
license show
To check system version
system version show
To check locks on a volume
vserver locks show -vserver "vserver_name" -path /volume_name/*
To break locks on a volume, go to advanced mode
set advanced
vserver locks break -vserver "vserver_name" -vol volume_name -lif "lif_name" -path
lock_path.lck
aggregate commands
To show aggregate details
aggregate show
aggr show "aggregate_name" -fields size,usedsize,availsize
To create an aggregate
aggregate create -aggregate -diskcount -size
To expand an aggregate
aggregate add-disks -aggregate -diskcount
Disk commands
To list failed disks
storage show disk -broken
To list unassigned disks
storage disk show -container-type unassigned
To list unassigned disks
storage disk assign -disk "2.12.0" -owner "owner_node_name"
Volume commands
To create a new volume in Netapp without snapshot space
volume create -vserver "vserver_name" -volume "volume_name" -aggregate
"aggregate_name" -size "volume_size" -percent-snapshot-space 0 -snapshot-policy none
To display/show a volume information
volume show "volume_name"
To list the volumes in a aggregate
vol show -aggregate "aggregate_name"
Mount a volume to junction path
volume mount -vserver "vserver_name" -volume "volume_name" -junction-path
"/junction_path"
To increase a volume size by 100G
vol size -vserver "vserver_name" -volume "volume_name" +100GB
To increase a volume size to 100G
vol size -vserver "vserver_name" -volume "volume_name" -new-size 100GB
To show volume quota
volume quota show -volume "volume_name"
To add exportpolicy to a volume
volume modify -vserver "vserver_name" -volume "volume_name" -policy "policy_name"
To check access of volume to a client
check-access -vserver "vserver_name" -volume "volume_name" -client-ip "client_ip_address" -
authentication-method sys -protocol nfs3 -access-type read-write
To show volume statistics
statistics volume show -interval 5 -iterations 1 -max 25 -volume "volume_name"
To move a volume from one aggregate to another aggregate, it’s validate the possibilty
of move
volume move start -vserver "vserver_name" -volume "volume_name" -destination-aggregate
"destination_aggregate" -perform-validation-only true
To move a volume from one aggregate to another aggregate
volume move start -vserver "vserver_name" -volume "volume_name" -destination-aggregate
"destination_aggregate"
Volume snapshot commands
To create a snapshot for a volume
volume snapshot create -vserver "vserver_name" -volume "volume_name" -snapshot
"snapshot_name"-comment "comment for snapshot (optional)"
To show the snapshot of a volume
volume snapshot show -vserver "vserver_name" -volume "volume_name"
To show the snapshot of a volume
volume snapshot delete -vserver "vserver_name" -volume "volume_name" -snapshot
"snapshot_name"
To create a snapshot policy
snapshot policy create -policy "policy_name_dail_week_retention" -enabled true -schedule1
daily -count1 7
snapshot policy create -policy "policy_name_dail_3days_retention" -enabled true -schedule1
daily -count1 3
LUN commands
To create a new LUN
lun create -vserver -path -size -type
To display/show LUN information
lun show
To map a LUN to a host
lun map -vserver -path -igroup
To unmap a LUN
lun unmap -vserver -path -igroup
export-policy commands
To create a export policy
export-policy create -vserver "vserver_name" -policyname "policy_name"
To display information of export policies
export-policy rule show
To create a new export policy
export-policy rule create -vserver "vserver_name" -policyname "policy_name" -client-match
"client_ip -rorule sys -rwrule sys -superuser sys -protocol nfs
To modify an existing export policy
export-policy rule modify -vserver "vserver_name" -policyname "policy_name" -ruleindex "_" -
client-match "client_ip -read-write
To display export details for a nfs client
export-policy rule show -vserver * -policyname * -client-match "client_ip
Snapmirror commands
To check SnapMirror status
snapmirror show
What is NetApp StorageGRID?
Software-defined, object-based storage platform that provides intelligent policy-driven data
management. Massively scalable and easy-to-use global data repository for unstructured data.
Flash Pool is a hybrid aggregate that combines the performance of Solid State Drives (SSDs)
with the capacity and cost-effectiveness of traditional Hard Disk Drives (HDDs). It essentially
acts as a cache, accelerating frequently accessed data by storing it in the faster SSDs while the
slower HDDs handle less frequently accessed data. This improves overall system performance,
particularly for random read operations, while also reducing the cost of storage.
Here's a more detailed explanation:
Hybrid Aggregate:
Flash Pool combines SSDs and HDDs within a single aggregate.
Caching:
It uses the SSDs as a cache for frequently accessed data, improving performance by offloading
read and write operations from the slower HDDs.
Cost-Effectiveness:
By using a hybrid approach, Flash Pool allows organizations to leverage the performance
benefits of flash while maintaining a cost-effective storage solution.
Benefits:
Improved Performance: Speeds up random read operations and reduces latency.
Cost Reduction: Uses less expensive HDDs for less frequently accessed data.
Scalability: Can be scaled to accommodate growing data needs.
Enhanced Efficiency: Maximizes the utilization of both SSDs and HDDs.
Functionality:
SSDs are used as a cache for frequently accessed data.
HDDs store the less frequently accessed data.
When data is accessed, the system first checks the SSD cache.
If the data is in the cache, it's retrieved from the SSDs, speeding up the process.
If the data is not in the cache (cache miss), it's retrieved from the HDDs and added to the cache
for future access.
Storage Efficiency:
NetApp's storage efficiency features, like deduplication and thin clones, are also maintained
in the Flash Pool aggregate.
Limitations:
Compressed data cannot be cached in the Flash Pool, but blocks that aren't compressed
within a compressed volume can be cached.
Understanding RAID Penaltych 21, 201
Determining which type of RAID to use when building a storage solution will largely depend on
two things; capacity and performance. Performance is the topic of this post.
We measure disk performance in IOPS or Input/Output per second. One read request or one
write request = 1 IO. Each disk in you storage system can provide a certain amount of IO based
off of the rotational speed, average latency and average seek time. I’ve listed some averages
for each type of disk below.
sources:
[Link]
[Link]
[Link]
So for some basic IOPS calculations we’ll assume we have three JBOD disks at 5400 RPM, we
can assume that we have a maximum of 150 IOPS. This is calculated by taking the number of
disks times the amount of IOPS each disk can provide.
But now we assume that these disk are in a RAID setup. We can’t get this maximum amount of
IOPS because some sort of calculation needs to be done to write data to the disk so that we can
recover from a drive failure. To illustrate lets look at an example of how parity is calculated.
Lets assume that we have a RAID 4 system with four disks. Three of these disks will have data,
and the last disk will have parity info. We use an XOR calculation to determine the parity info.
As seen below we have our three disks that have had data written to them, and then we have
to calculate the parity info for the fourth disk. We can’t complete the write until both the data
and the parity info have been completely written to disk, in case one of the operations fails.
Waiting the extra time for the parity info to be written is the RAID Penalty.
Notice that since we don’t have to calculate parity for a read operation, there is no penalty
associated with this type of IO. Only when you have a write to disk will you see the RAID
penalty come into play. Also a RAID 0 stripe has no write penalty associated with it since there
is no parity to be calculated. A no RAID penalty is expressed as a 1.
RAID 1
It is fairly simple to calculate the penalty for RAID 1 since it is a mirror. The write penalty is 2
because there will be 2 writes to take place, one write to each of the disks.
RAID 5
RAID 5 is takes quite a hit on the write penalty because of how the data is laid out on disk.
RAID 5 is used over RAID 4 in most cases because it distributes the parity data over all the disks.
In a RAID 4 setup, one of the disks is responsible for all of the parity info, so every write
requires that single parity disk to be written to, while the data is spread out over 3 disks. RAID
5 changed this by striping the data and parity over different disks.
The write penalty ends up being 4 though in a RAID 5 scenario because for each change to the
disk, we are reading the data, reading the parity and then writing the data and writing the
parity before the operation is complete.
RAID 6
RAID 6 will be almost identical to RAID 5 except instead of calculating parity once, it has to do it
twice, therefore we have three reads and then three writes giving us a penalty of 6.
RAID DP
RAID DP is the tricky one. Since RAID DP also has two sets of parity, just like RAID 6, you would
think that the penalty would be the same. The penalty for RAID DP is actually very low,
probably because of how the Write Anywhere File Layout (WAFL) writes data to disk. WAFL will
basically write the new data to a new location on the disk and then move pointers to the new
data, eliminating the reads that have to take place. Also, these writes are written to NVRAM
first and then flushed to disk which speeds up the process. I welcome any Netapp experts to
post comments explaining in more detail how this process cuts down the write penalties.
Calculating the IOPS
Now that we know the penalties we can figure out how many IOPS our storage solution will be
able to handle. Please keep in mind that other factors could limit the IOPS such as network
congestion for things like iSCSI or FCoE, or hitting your maximum throughput on your fibre
channel card etc.
Raw IOPS = Disk Speed IOPS * Number of disks
Functional IOPS = (Raw IOPS * Write % / RAID Penalty) + (RAW IOPS * Read %)
To put this in a real world example, lets say we have five 5400 RPM disks. That gives us a total
Raw IOPS of 250 IOPS. (50 IOPS * 5 disks = 250 IOPS).
If we were to put these disks is a RAID 5 setup, we would have no penalty for reads, but the
writes would have a penalty of four. Lets assume 50% reads and writes.
(250 Raw IOPS * .5 / 4) + (250 * .5) = 156.25 IOPS