Now that we have got an overview about file systems and we have provisioned the file system, let's go and see the topics available in the slides. As part of this topic or deck, you will look at how do you manage file systems, check the utilization. And also understand about the export options and performance options that file systems provide. Common administration tasks would be to manage the file systems take snapshots, view the associated file systems, pick exports from additional mount targets if you require. Or maybe the same file system might be available with multiple exports so that some have read privileges, some have read-write privileges etc. So for each file system at least one export should be available from a given mount target and by default the file system encrypts the data and it also takes care of network encryption with TLS encryption. So when we look at a file system as such, we have provisioned a file system and made an export available from a given mount target, which is what is given here. Now, if I want to mount it to a particular file system we already saw, we had to enable the VC and security list to allow. Let me SSH to the compute instance that I have. Let me get the IP address of the instance and establish an SSH from the Cloud Shell environment. So this is the compute instance IP address. And from here, SSH, OPC at the rate, public IP I will land in there. Now once I'm inside the compute instance, I have already mounted it to find the list of mounts that have happened. I can see here, there is this file system that is mounted to this directory, and currently it is having zero bytes consumption. Now, let me create a file by using the touch command. And since I'm logged in as OPC, I need to do sudo touch, let's say sample dot txt, the file gets created. And let me use the VI editor to add some data to this file and I have got some Text from the slides that we are using, and let me paste this and write the file. The moment I have given the data in a file and go and look at df, it doesn't show anything specifically here, but if I go to. The directory mnt slash FSAD1 and do du command it will tell me what is available I think I created the file in the wrong place because I had connected and did not go into that directory. So what I will do is I will copy the file, so if I go back and do an ls here, the file is available here. Let me do a copy of the sample text into mt FSAD1. And once it is copied, if I do df, I don't see much but if I go into. The FSAD1 and look at the contents there is a file. The du command here tells me there is some amount of data available here. If I do an LS and create a copy of the sample file that I created as sample one dot txt. I will now see with the DU command, there is additional data that is created. The file system consumption will be updated at a specific interval. We don't see that visible right now but over a period of time, it will start giving us that information when it starts capturing that metric at a regular interval. Now, when we look at our slides, we saw, we can have snapshots created. When we went into the file system path and looked at directories we see a dot snapshot. A snapshot is a point in time copy of the data I can go to snapshot and create a snapshot I will call it as snap one and create a snapshot. As a result of it, actually no data will be put into the snapshot, snapshots will get data written only when changes happen in the. Actual directory and snapshots give you a means to access the data as it was available at that time of snapshot creation. Now look at this I have this data, If I do a du I see there is some data available it doesn't actually consume the space. It shows there is so much of data, the actual file system consumption would be visible from here. Don't get misled by what it shows here, there is a snapshot created a snap one. And if I look into the current directory, which is the file system, I see the same two files. If I go to dot slash, dot snapshot, slash snap one and do an LS I see the same two files. If I go back to the MMD and do an LS, I see the same two files. Now if I make a copy of sample 1 dot text to sample 2 dot text, another file is going to be created. And if I do a du I now see there is more data created inside my actual directory but my snapshot has not changed. If I do an LS here, I will see the three files. But if I go into the snapshot directory within the file system and look into the snap details. I will see only the two files that were in the file system when the snapshot got created. So that's an example of using snapshots and for data protection. Because the file system is provisioned within an AD and if that AD goes down, your data is unavailable. You may want to replicate the data from the file system into another region or into another availability domain, where you have another file system or push it into object storage or another storage, you have to manage it to ensure availability. In spite of the fact your AD goes down where your file system is provisioned. Now snapshots are metered, file system is metered. There is metadata also, which is created for every directory you create within the file system. So there is a metadata of 512 bytes for every directory that gets created. And around 8 kilobytes for every symbolic link that is created, all that also gets added to your file system. Storage consumption, snapshot data is metered only for any changes that happened to the data when you are making changes. So the snapshot will get the old data in it and be available like a backup and. Df du commands is what I showed you earlier. If I go back to my cloud console and run a df command, it tells me that there is this file system that is available. And there are snapshots that are available, whereas when I'm inside my file system snapshot directory it tells me this is the kind of space that is consumed. Whereas if I go a couple of directories above and do a du, it tells me at a directory level within the file system, what is the space that is consumed? Next comes export options, security list is a whitelisting wherein whatever rules are enabled only are allowed. You can either allow a client to access it or not access the mount target where the file system is exposed. Using NFS options, you can limit a client's ability to connect and either view the data or write data that is standard NFS export options that you need to use when you are exposing it. And the export controls how these NFS will be able to access them. For example, if I go back to my file system page. And if I go to export and go to the current export itself, I can create NFS export options to say. From which range of IP addresses what kind of access can be provided along with squash specification like a generic file system that you can use. So these are options you need to use carefully to decide who should be able to access what. And this is exactly what was available by default for the export that God created by default. If you have for example, to file systems created in a mount target and exposed through that, and you want a particular computer to read write only to file system A. And a particular computer to read only file system B, you need to set up export options appropriately. Here is an example of using the oci, cli and doing the needful. So you can set export options appropriately from here to enable specific access. Coming to File Storage Performance, file storage performance is dependent on the storage that is consumed by your file system. The more the data that you keep in your file system, the read and write bandwidth and read IOPS scale up automatically. So the total amount of read and write and IOPS you can do in a file system depends on the amount of. Data you have in the file system, you don't need to do anything, it takes care of scaling up the performance based on the data that is present. And to get the best out of file system, one other thing to compare is parallelism, increased concurrency from your clients that are accessing the file system using multiple threads. Or multiple clients or use multiple mount targets to create multiple exports of the same file system will result in more scalable performance. And remember file system is provisioned within an availability domain. And computers that are accessing it from the same availability domain, will have the minimal latency. If you're accessing it from another AD or from your on premise, there is going to be latency involved depending on the distance from your on premise to your OCI region, and AD to be specific. And to get the best performance, don't sit R-size and working size options when you mount, so that you get the best performance from the standard file system specifications that is available. And when you are working with the NFS file system in the form of the OCA storage, use the parallel tar, parallel copy commands. Through which the IO options will take care of multiple threads to access the file system. To increase the performance, with that, we come to the end of this chapter of operations for file storage. We looked at how do we create file systems, monitor utilisation, look at the export options and performance specifications for the file systems.