0% found this document useful (0 votes)
5 views10 pages

5

Uploaded by

abdul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views10 pages

5

Uploaded by

abdul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 10

5.

Controller Architecture
Aug 27, 2025, 11:56 PM
5.Controller Architecture
Play

00:00
55:59
Mute

Settings
(0:17) So, today we are going to talk about controller architecture, let me make
sure that I got (0:22) started. (0:31) Okay, let's start about controller
architecture, so you know right, controller means nothing (0:43) but it might be
our FAS or AFF, it is a controller, hardware controller, okay, so the controller
(0:50) is having lot of components inside it, so today we are going to discuss like
what are (0:56) the components we have inside controller and what is the purpose of
those components, okay. (1:09) Assume that this is my controller, okay, so first we
will talk about the ports, what are (1:15) the different ports on top of the
controller, okay, after that we will talk about the components (1:22) inside the
controller, so mainly we have three ports on top of our controller, three ports,
(1:40) first one is console port, console or serial port, we call it as, okay,
second one is service (1:56) processor, SP, that means processor is not a physical
port, but I am going to tell you (2:09) for now, let us assume it as a physical
port, okay, I will tell you after that, what is (2:15) the, what is, how service
processor, okay, and we will also call it as RLM and BM, now (2:27) in new hardware
models, in new controller models, we are calling it as SP or service processor,
(2:32) but in older models are there, right, like fast 3200 and 3000, in those
models, we used to call (2:40) them as RLM in some models and in some models, we
used to call them as BMC, okay, remote LAN manager (2:47) and something is BMC,
okay, next thing is another port is E0M, (2:58) okay, E0M, E0M means nothing but it
is a management port, these are the three important (3:07) ports we will be having
on top of our controller, now let us talk about the purpose of these three (3:13)
ports, we do have a few more ports, let us discuss them little later, okay, so
console port or (3:19) serial port, so by using console port, we can connect our
laptop or desktop to controller (3:27) directly through a wired connection and we
can access controller and we can do our work, we can (3:34) configure everything,
generally, when we got a new controller from NetApp, okay, it will be not (3:40)
having any configurations, right, so it will be not able to connect to the
controller remotely (3:45) because it does not have any IP address and all, so in
order to do the initial configuration, (3:51) we must connect our laptop or desktop
or server to controller through a console connection, (4:00) through console port,
so with the help of console port, we will be able to access the controller (4:04)
and we can configure the stuff, like we can configure, we can start configuring the
(4:11) controller or creating a cluster, okay, so the main purpose of controller,
sorry, (4:18) service processor or console, not service processor, sorry, the main
purpose of console (4:23) port or serial port is for initial configuration, mostly,
we will use it for only initial (4:34) configuration, later, most of the people,
they will not use it until you have a specific requirement, (4:41) okay, I am going
to talk about that little later, okay, next thing, E0M, E0M means (4:47) nothing
but a management port, which we will use regularly, like during the, as I told you,
(4:56) during the initial configurations, which we are configuring through console
or serial port, (5:02) we will assign an IP address to E0M port, so once we assign
the IP address to the E0M port, (5:09) what we can do, from now onwards, we do not
need to connect to the controller through console, (5:14) what we can do, we can
connect to the controller with the help of management IP and we can log in (5:20)
from a remote location as well, with the help of IP address, so mostly, in real
time, 90% of the work (5:28) can be done through management port only, okay, so
this is a management port, which will work (5:35) with IP address and while
configuring these things, we will get the IP addresses and all (5:41) from the
networking team, free IP addresses, unused IPs, okay, and 90% of the work will be
(5:48) done through management port only, normal work, service processor, what is
the purpose of the (5:56) service processor, the main purpose is service processor,
okay, will be connected to the (6:04) console in the backend, okay, service
processor will be connected to the (6:08) console in the backend, actually, service
processor is not a port, a physical port, okay, (6:15) it is a chip, which will be
on top of a motherboard, okay, it is a chip, software chip, (6:25) which will be on
top of motherboard and how it can make the connection outside the controller,
(6:31) it will make the connection outside the controller through, again, easily
and quickly, okay, (6:37) so what is the advantage of having service processor,
okay, I have a console port and I (6:42) have a management port, then what is the
purpose of service processor, why do I need a service (6:46) processor, again,
service processor also will work based on the IP address only, that means, (6:54)
while doing the initial configurations, I will configure the IP address to the
service processor, (7:01) so once I configure the IP address to the service
processor, what I can do, I can connect to (7:07) service processor from a remote
location and from service processor, I can connect to my controller (7:15) through
a console or serial port, that means, when you want to do, when you want to connect
to your (7:21) controller through console, you don't need to come to the location,
like where you have that (7:28) controller, you can connect to the console from
remote location with the help of service processor, (7:36) so what is the main
purpose, actually, what is the difference, I have an IP address on E0M, right,
(7:42) so I can connect to the E0M and I can access the controller remotely, then
why do I need, (7:47) again, service processor, the main purpose is, like whenever
you are doing maintenance activities, (7:53) like rebooting the controller or
hardware replacements or data on dev upgrades, you need (7:59) to reboot the
controller or you need to shut down the controller, during that time, along with
the (8:04) controller, your management port also will goes down, when your
management port is down, you'll (8:10) be not able to access your controller with
the help of IP from remote location, so when you are (8:16) doing these kind of
activities, you need to come to the controller and you have to connect to your
(8:21) controller through console, if you connect through the console, you can see
what is happening in the (8:26) background, even controller is down also, it will
be running in the background, right, so you can (8:31) see the things, what is
happening in the background, but as you have a service processor, you don't (8:36)
need to come to the location, where you have a controller, you can connect to your
controller (8:42) console with the help of service processor, even if your
controller is down, if your controller is (8:47) having power connection, you'll be
able to access your controller console with the help of service (8:53) processor,
okay, the main purpose of service processor is remote console connectivity, (9:02)
remote console connectivity, okay, any questions guys, yeah Naveen, this service
processor (9:09) from this from service processor, we can collect logs also, yes
you can, okay, I mean apart from (9:18) just a remote console connection, we do
have a other purpose for service processor as well, like (9:22) service processor
will do monitoring of your controller and all, but I'm not going to cover (9:27) it
here, I'm going to cover that in advanced topics, okay, understood, okay, the main
purpose is for (9:35) remote console connection, any questions guys, because these
three ports are very very important, (9:40) you need to understand the purpose of
them, okay, cool, so apart from these (9:52) ports, we do have a few more ports, a
few of the network ports, (10:03) okay, you know the purpose of network ports,
right, I already told you, (10:07) we can connect our controller through normal IP
network, LAN network and we can present (10:15) data to clients, storage to clients
through NAS protocols, okay, this is for NAS (10:22) LAN connectivity, okay, this
is NAS LAN connectivity, these ports are for, just for the (10:28) diagram purpose,
diagram sake, I have just drawn three ports only, but number of ports again,
(10:33) number of NAS ports depends on your controller model, if you have purchased
a 9000, (10:39) they'll be, you'll be having very huge, I mean high amount of
ports, like 12 ports or something, (10:43) but if you purchase like a small
controllers, like 2500 or 2600, then you'll be having four (10:49) or five ports,
something like that, okay, the number of ports again depends on the (10:54)
controller model, I just draw it for diagram sake, okay, and along with normal
network ports (11:00) for NAS connections, we do have a dedicated ports for SAN as
well, okay, we do have a ports for SAN, (11:10) okay, so those are, these are the
SAN ports and with the help of these ports only, (11:30) we'll be able to connect
to our, connect our controller to fabric, SAN network and we'll (11:36) be able to
present storage to clients, which are connected to our SAN network, okay, along
with (11:41) that, we do have few more ports, those are SAS ports, these are SAS
ports, what is the purpose of (11:57) SAS ports, with the help of SAS ports only,
we'll be able to connect our controllers to disk shelves, (12:03) okay, these are
the back end connections, which will connect your controller to (12:07) disk
shelves, this is the purpose, disk shelf connectivity, so these are the major ports
(12:19) available on top of SCAN, okay, any questions guys and one more thing is,
(12:26) it doesn't mean that you will be having dedicated NAS and SAN ports, okay,
based on the model and (12:33) based on the discussions you will be having with
NetApp, there are few ports in these days, (12:38) which are unified ports, that
means, it's same port, you can use it for NAS or same port, you can use it (12:44)
for SAN, how can I do that, I'm not going to tell you those things now, I'm going
to cover those, (12:52) these kind of things in advanced topics, so don't worry
about them, okay, the people who are (12:57) already working on NetApp, yeah, they
might get this question, that's all, okay, yes, thank you, (13:05) yeah, unified
ports, okay, now let's talk about the components inside the controller, (13:14)
what are the, and one more thing, you know that, right, and along with the all
these ports, (13:20) we'll be having maybe two or four ports for our cluster
interconnectivity, to connect our (13:27) network, I mean, controller to a cluster,
cluster private network, 10 GB ports, right, (13:33) you remember, based on the
controller model, you'll be having either two ports or four ports, (13:38) okay,
these ports are for cluster private network, okay, now let's talk about the (13:54)
different components in, within the controller and how they will work, (13:59) the
first major component in our controller is cache, yeah, is the (14:09) first major
component, cache or we can call it as memory as well, memory, okay, next one is
(14:25) NVRAM, okay, next one is NVRAM, so your cache will be divided into two
partitions, (14:43) two logical partitions by default, in any controller, okay,
your cache will be divided into (14:48) two logical partitions, one is for write,
write data and another one is for read data, (15:02) okay, along with that, we have
a NVRAM, NVRAM also will be logically divided into partitions, (15:13) but the
number of logical partition depends on your controller connectivity, for example,
(15:18) if your controller is a part of a HA pair, then your NVRAM will be divided
into four partitions, (15:25) but if your controller is part of a standalone, like
it is not pairing with any other controller, (15:32) it is a standalone controller,
then it will be divided into only two partitions, but I'm assuming (15:37) here
that my controller is part of HA pair, so that I'm drawing four logical partitions,
(15:43) I'm dividing my NVRAM into four logical partitions, okay, so these are the
four logical (15:50) partitions, so these logical partitions and everything will be
configured from NetApp only, (15:56) by NetApp only, like based on our discussions
with NetApp during the purchase, they'll configure (16:03) everything and they'll
give it to us, so you don't need to deal with all this stuff, (16:06) okay, we
can't do anything related to these things, (16:11) okay, now what is the purpose of
NVRAM and cache memory, so before going that, (16:19) so we have two partitions,
right, I mean, we have four partitions of NVRAM, cache we understand, (16:25) like
one partition is for write data and another partition is for read data, what about
NVRAM, (16:31) so NVRAM, the first two partitions will be dedicated for our local
controller, (16:37) local controller means, let's assume that my controller name is
FAS01 and let's assume that (16:44) I have another controller here, which is a HA
pair FAS02, okay, let's assume that (16:51) and let me draw it here, okay, let's
assume that this is my controller and here as well, (16:57) I'll be having all the
components like cache, memory, NVRAM and all, okay, again this NVRAM (17:04) also
as this is part of HA pair will be divided into four logical partitions, so the
first two (17:14) partitions, they'll be reserved for, okay, they are reserved for
FAS01, okay, they are reserved (17:21) for FAS01 and the second two partitions,
okay, the second two partitions, they are, they'll be (17:30) reserved for, okay,
FAS02, that means partner controller, okay, the first two partitions in this
(17:42) other controller NVRAM will be reserved for its local, that means these
first two partitions will (17:48) be reserved for its own and the second two
partitions will be reserved for the partner (17:53) controller, that means what is
the partner controller for FAS02, it is FAS01, right, yeah, (17:59) these two
partitions will be reserved for FAS01, this is how it will be, okay, I'll tell you
why (18:08) we need that, I mean why we need to reserve the space on NVRAM for, why
they have reserved the (18:14) space on NVRAM for partner controller, I'm going to
talk about that little later, okay, so what is (18:20) the purpose actually, what
is the purpose of caching and what is the purpose of NVRAM, so (18:26) normally
whenever I present a space or storage to my clients, what they'll do, they'll start
(18:33) writing data to the space, right, whenever they write the data, it will
start, it will not save (18:39) there, right, it has to come to storage, it has to
copy to the storage, whenever they write (18:44) something to the space we provided
through storage, yeah, whatever the data they copy, they'll come, (18:50) it will
come to storage, okay, so if it is NAS, then it will travel over NAS network and it
will (18:57) enter into our controller with the help of NAS ports, network ports,
if it is SAN, my clients (19:05) are connected to SAN network, then it will travel
all over the SAN network and it will (19:09) enter into our controller through
fiber channel adapters, SAN ports, okay, once it enters into the (19:16) SAN, it
will not write the data to the disks immediately, it will not do that, so what it
will (19:24) do, first it will write the data to the right part of the cache, okay,
it will write the data to the (19:33) right part of the cache, along with that,
along with that, it will write the data to one of the (19:42) local controller and
VRAM reserve, I have two reserves, right, for the local controller in this (19:47)
environment, FAS01 will be called as a local reserve and FAS02 is reserved as a
partner controller, (19:53) remote reserve, remote controller reserve, so the same
data journal, okay, the same data (19:58) journal will be copied to the NVRAM as
well, local NVRAM and the same data will be copied to the (20:09) partner
controller, in partner controller also, we have a reserve for our FAS01, right, so
the (20:16) same data will be copied to the NVRAM, FAS01, NVRAM reserve on FAS02,
so whenever data is (20:24) copying to the controller, it is copying to three
places initially, it is not copying to the disks (20:32) directly, first, it will
copy the data to the cache, along with that cache, it will copy the (20:37) data
journal into the NVRAM, local NVRAM reserve and partner controller NVRAM reserve as
well, (20:43) that means, we are having the data, same data, three copies in three
different locations, (20:50) okay, it will keep on copying the data like this, it
will not commit the data to the disks (20:55) immediately, it will keep on taking
the data from clients to cache, NVRAM, local NVRAM and (21:02) partner controller
NVRAM reserve, okay, it will keep on doing like that, how long it will do like
(21:08) that, it will take the data like this for 10 seconds, okay, it will take
the data like this for (21:17) 10 seconds, once it hit the 10 second time period,
then what it will do, there is a background (21:25) process called CP, consistency
point, okay, this is a background process which will run (21:37) by ONTAP in the
background, so this consistency point, what it will do, (21:43) when this
consistency point will trigger every 10 seconds, so once the consistency point is
(21:50) triggered, then whatever the data came to our controller within this past
10 seconds, (21:58) that particular data will be committed to disks, okay, so far,
I mean, data is not committed to (22:07) disk, only data copied to cache, local
NVRAM and partner controller NVRAM reserve, that's it, (22:13) but controller will
send acknowledgement to your host stating that, okay, your data is copied like
(22:18) that, but data is not actually committed to the disk, until we commit the
data to the disk, (22:24) it is not like we copied the data to the permanent
location, but still, (22:30) the controller and ONTAP will take care of that later,
okay, I'll tell you little later, (22:37) like why we are not, why NetApp is not
copying the data to the disks directly, okay, so (22:46) when once the consistency
point is triggered, then my cache and NVRAM first reserve will work (22:53)
together and will write the data to the disks in the disk shells, okay, disks in
the disk shells, (23:00) let's assume that we have disks, right, disk shell, okay,
that's fine, what about the coming (23:09) request, like my client will not wait
for that, right, like he will not wait until (23:16) my NVRAM and cache will copy
the data to the disk, right, he'll keep on writing the data (23:21) from his end,
okay, that is the main purpose of storage, right, it should take the data anytime
(23:28) with minimum latency, that is the main purpose of storage, why we purchased
it, okay, so what (23:34) will happen now, so during this time, I have a second
part of NVRAM, right, I have a second (23:42) partition of NVRAM, what it will do,
it will work with cache and it will take the data from (23:48) clients, see here
cache is playing two roles, cache is working with partner, I mean partition (23:56)
one of NVRAM and it is writing the data, it is committing the data, unwritten data
to the disks (24:02) and during the same time, my second NVRAM partition, what it
will do, it will work with (24:08) cache and it will take the data from the
clients, okay, it will take the data from the clients, (24:14) now let's assume
that my client copied some more data in next 10 seconds to the cache as well as
(24:23) to the second partition of the NVRAM, the same data will be as I told you,
it will be replicated (24:28) to, it will
be copied to the partner controller NVRAM reservoir as well, okay, now again once
the (24:37) 10 seconds period completed, again it will hit that, it will trigger
the another consistency point, (24:45) so before that whenever this consistency
point triggers, meanwhile my NVRAM first partition (24:52) already started working
with cache and dumping the data, right, to the disks, so during this, (25:01) I
mean before the another consistency point, what it will do, it will finish the, it
will finish (25:06) writing the data, okay and it will flush the data, it will
flush the data after writing the data to (25:14) the disks from NVRAM and write
part of the cache and it will make sure, it will be ready (25:23) by next
consistency point to take the data from the clients because whenever the (25:29)
second consistency point triggers, next consistency point triggers, my second part
has to work with (25:35) cache and commit the data whatever it came in last 10
seconds to the disk, right, so that time (25:41) my first partition will work with
cache and will take the data from the clients, (25:47) like that these two parts of
the NVRAM, what they'll do, they'll keep on exchanging their role, (25:54) okay, in
first 10 seconds, this will work with cache and it will take the data from clients
(25:58) and in second 10 seconds, it will write the, it will work with cache and
write the whatever (26:03) data came in, right, in last 10 seconds to the disk,
during that time, my second partition will (26:08) work with the host, whenever
next consistency point triggered, they'll exchange the role, second (26:14)
partition will work with cache and will commit the data to the disk and first
partition will (26:19) take the data from the clients, like that they'll keep on
exchanging the roles, okay, this is how (26:25) they'll work, it will work when we
are writing the data to the clients, (26:31) okay, I mean when we are getting the
data from the clients, any questions guys on consistency (26:37) point or on NVRAM?
Yeah, on the NVRAM part, Naveen, this that you marked as the orange and (26:46)
green color, so this NVRAM has four partitions, all are for write purpose or there
is some for (26:51) read purpose also? No, NVRAM is for write purpose only, that I
am going to discuss that little later.
(26:57) Okay, okay, okay, yeah, any questions guys, Aditya? (27:07) No, sir, no,
sir, so, okay, sorry, someone asked, I mean what happens with data and cache,
(27:15) the NVRAM data is being pushed to there, back into the data behind the
cache? (27:20) Yeah, even cache also flashes itself, but it will be duplicated,
right? (27:26) Sorry? It will be duplicated, because the same data is there, cache
and NVRAM is the same data? (27:31) No, no, no, actually cache will not write the
data, we will be having same amount of data in (27:37) cache and NVRAM for safety
purpose. Does it delete the data once the NVRAM? (27:43) Yeah, yeah, it will flush
the data from there, in cache as well as NVRAM, once it commits the data (27:49) to
the disk. My question is, once the data in NVRAM is being pushed to disk, what will
happen to the (27:57) data in the cache? Will it be erased or? That is what I am
saying, it will flush, (28:03) it will delete it, it will erased.
Only the data in NVRAM is being pushed, etc? (28:11) No, no, no, as I told you, I
have not mentioned that NVRAM worked alone, right? NVRAM has to (28:16) work with
the cache. Without cache, NVRAM will not be able to push everything alone. (28:21)
You got it, what I am saying? They will work together and they will copy the data,
I mean, (28:29) they will find out whatever the unwritten data, okay, like the data
which came into (28:34) the controller in past 10 seconds and they will commit that
particular data to disks.
(28:40) Okay, and one more question, what if the controller shut down? (28:44) That
is what, I am going to discuss that a little later. (28:48) That is the reason we
have another controller, I mean, another reserve in NVRAM. (28:52) I am going to
talk about that.
Okay, any questions guys? (28:58) Yeah, I understood, I understand, that is what I
am going to discuss now, I mean, little later. (29:05) Yeah, I will explain you
that. (29:06) Okay, now let us talk about like why we need to have a reserve in
partner controller as well.
(29:16) For example, my NVRAM is taking the data from clients, okay, now still the
CP not occurred, (29:27) okay, let us assume that it is taking the data from my
clients from past seven seconds or eight (29:33) seconds, okay, let us assume that
seven seconds. All of a sudden, my controller went down, (29:45) okay, all of the
sudden my controller went down because of some power issue or because (29:51) some
hardware issue, then what will happen? See, NVRAM will be having, okay, NVRAM will
be having (30:04) battery backup, so with the help of battery backup, still my
NVRAM can sustain. For example, (30:15) let us assume that my NVRAM backup also got
failed, I mean, battery backup also got failed, (30:22) it was not able to sustain,
I mean, due to some issue on battery as well.
Still, the same data, (30:30) okay, whatever the data I have in NVRAM, right, this
local controller NVRAM, the same data will be (30:39) saved on the partner
controller NVRAM, right, so now as we have the same data, (30:49) okay, as we have
the same data journal in the partner controller NVRAM, what partner controller
(30:55) will do? Partner controller will take care of the data committee, like,
yeah, it will come to know (31:04) with the help of HA interconnect, as I told you
earlier, right, they'll be keep on exchanging the (31:08) hard bits, right, along
with the hard bit exchange, they'll also exchange the data within the NVRAM (31:17)
with each other, okay, with the help of HA interconnect only, the controllers
within the (31:22) HA pair and their NVRAMs will be able to sync with each other,
okay, so whenever my particular, (31:31) the FAS01 went down, whatever the
uncommitted data on my FAS01 NVRAM, okay, the same amount (31:39) of data I have
in, the same data I have in FAS02 as well, right, that is the reason I'm having the
(31:44) data duplicate in both the NVRAMs, so when my FAS02 went down, my FAS02 can
commit the data (31:53) to the disks, okay, and Naveen, one more question, like,
once the data has been written from the (32:05) client end, for an example, any
data is written in NAS or SAN environment, (32:09) once, when my host is getting
acknowledged, after this data has been written in the cache, (32:17) yeah,
immediately, but when the data are written to the cache end NVRAM, automatically,
it will, (32:22) controller will send acknowledgement to your host, that is the
purpose of having cache end NVRAM, (32:26) it will not wait until it will commit
the data to the disks, and data has been written (32:33) simultaneously, when both
cache end NVRAM or once, yes, simultaneously, okay, (32:45) okay, did you got what
you are asking for, I think Bhanu or Praveen, I mean, actually, (32:53) my question
is, what if complete storage system went down, when the data is still in NVRAM and
(32:59) cache, if the storage system abruptly shut down, during, because of power
issue, whatever it could (33:05) be, to the disks, sorry, hello, sorry, I got
disconnected, (33:15) can you repeat it again, yeah, when the data is in NVRAM or
cache, (33:22) what if the storage system went down suddenly, during, you know,
because of power supply, (33:27) hardware, whatever it is, whatever the issue could
be, yeah, yeah, yeah, that is what I am saying, (33:32) is it Bhanu, if both went
down, then yeah, whatever the uncommitted data, right, we will (33:39) lose that,
if both the HFS went down, yeah, there is no way we can sustain that, like whatever
the (33:45) 10 seconds of, last 10 seconds of data, we will lose it, we have, that
is what we have a battery (33:59) backup, right, so during that kind of scenario,
the battery backup will come into picture and (34:06) NVRAM, what it will do, it
will try to commit the data to the disks or else, what it will do, (34:12) we have
a spare drives, we will be having spare drives, okay, it will find the spare drives
(34:16) and it, unused drives and it will use them as vault drives, like we do not
have a dedicated (34:23) vaulting in that app, just like EMC or other vendors, it
will use the unused drives for (34:30) vaulting, like whenever both the controllers
are going down, what it will do, with the help of (34:35) NVRAM battery backup,
both the NVRAMs will, you know, will dump the data to the unused drives (34:44) and
it will keep it as a vault drive, so whenever you are bringing the controllers
down, when you (34:50) are, sorry, when you are bringing the controllers up, then
it will pull the data from there and it (34:57) will come up and it will fetch the
data and it will commit the data to the disks during the (35:02) next consistency,
okay, hello, is it clear, yeah, okay, now let us talk about the read part of the
(35:28) so normally, whenever write request occurs, this is the process what will
happen in the background, (35:33) okay, the data will be written to, okay, sorry
guys, yeah, so based on the consistency point, (35:56) it will commit the data from
NVRAM to the disks, okay, this is what will happen in the (36:05) background for
the write request, any write request, now let us talk about the read request,
(36:12) how it will work when it comes to a read request, for example, my client
already copied a data, (36:18) he copied some files or movie files or video files
or something, now he wants to open them, (36:24) he wants to play them, he wants to
play a movie that's stored in our storage, so that will call (36:30) it as a read
request, so again, same thing, if it is a NAS, then it will enter into our
controller (36:36) through NAS, I mean, network ports, if it is a SAN, then it will
enter into our network through (36:44) SAN ports, okay, sorry, it will enter into
our controller through SAN ports, (36:51) so first read request will come to cache,
so as I told, we have two partitions in cache, right, (36:59) one is a write
partition and another one is a read partition, so what read partition of the
(37:04) cache will do, what is the purpose of the read partition of the cache, read
partition of the (37:09) cache, the purpose is it will host the data which is
frequently accessed by the clients, (37:18) like for example, I have a movie file,
I have a video clip which my client is accessing very (37:25) regularly, he is
watching that video very regularly, then what our ONTAP will do, ONTAP (37:31) is
capable, okay, it is intelligent and it can understand, okay, he is accessing that
particular (37:37) file very frequently, so instead of having it in this, what it
will do, it will take a copy of (37:43) that particular file and it will write the
copy, it will maintain the copy of that particular file (37:49) into the read part
of the cache, so that whenever my client again opens the file, (37:58) the request
will come in, enter into the controller and first the request will go to the cache,
(38:02) read part of the cache, if it finds the file there, then it will open the
file from there (38:07) and so that it will improve the performance, what if they
will be not able to find the file over (38:13) there, okay, what if they will be
not able to find the file over there in the read cache, (38:17) then it has to
travel to the backend through sasports and it has to search for that particular
(38:25) data in all the shelves and disks, then it has to copy the data from there
to read part of the (38:32) cache and it will provide that, I mean, the file will
be opened, this is how it will work, (38:39) so the read part of the cache, what it
will do, the main purpose is to maintain the frequently (38:46) accessed data
within it, okay, if client is accessing some data, it will maintain the copy
(38:52) of data within it, so that every time when he tried to access that
particular file or video (39:00) clip again, it don't need to come to the backend
and search for the data in all the shelves and (39:06) disks, okay, it can give the
data from here itself, okay, that is the main purpose of the (39:12) read cache,
okay, so when client requests some data, if the data is found in the read part of
(39:22) the cache, then we will call it as read hit, okay, call it as read hit, for
example, he was not able (39:33) to find the data in the read cache, so the data is
not there in the read cache, so that time what (39:40) it has to do, it has to
travel to the backend and it has to go through all the shelves and disks, (39:45)
and then only it will be able to provide access to the client, right, that we will
call it as (39:52) read miss, read miss, number of read hits will improve the
performance of your controller, (40:02) okay, for example, okay, my cache memory is
not like a very big, right, it is a small in size (40:09) only, maybe it is in
like, based on the controller model, it is like 100 GB or 200 GB or 300 GB, (40:16)
something like that, so it will, but the data in my controller is in petabytes,
terabytes of data, (40:24) how can it, I mean, what it will do, they have an
intelligent mechanism in the background (40:30) which will clear the cache as well,
that means, okay, I have a video clip which (40:37) was accessed by my client
earlier, very frequently, now he is not accessing that particular file (40:44)
anymore, so what it will do, it will remove that file from a cache, it will remove
that file from (40:51) only cache, not from the disk, it will be having data in the
disks, okay, it will remove the copy (40:57) which it stored in cache, so that it
can copy other data which my client is accessing these (41:07) disks, okay, that is
how it will work. Is it like hot data and cold data? (41:16) Yeah, okay, yes, hot
data only, it will keep, frequently accessed means hot data. (41:21) Yeah, Navin,
one question I have regarding that you mentioned as unified ports, (41:28) so this
unified port, so how, is it a SFP or is it a CNS? (41:34) Yes, SFP, SFP, okay, I
mean, based on the module which we enter into that particular port, (41:42) it will
be converted into a network port or SAN port.
(41:46) Like it can connect FC ports as well as Ethernet also? (41:50) Yes, it is
capable of connecting to both, but based on the module which you are entering,
(41:56) that means if you are entering a FC module, then it will act like, it will
connect it to (42:00) Fabric channel network, if you entered a normal network
module, then it can be connected to the (42:08) internet, not both at a time, got
it? Okay, okay, yeah, I got it, so it is not (42:13) the block, the block is
unified, the block, the channel which is (42:21) attached to the controller, that
is unified, so it can contain, it can house either it's a (42:28) FC or it's
Ethernet or converged network. Exactly, exactly, okay, okay, now let's (42:38)
discuss about the third component, so we have another component, we'll call it as
(42:45) PAM, call this component as PAM, PAM2 actually, PAM2 is the, this is the
latest one, (42:56) what is the full form of PAM? Performance Session Module, okay,
that is the full form of PAM, (43:07) and this has another name, we can call it as
Flash Cache as well, okay, Flash Cache as well, (43:19) so what is the purpose of
the Flash Cache? Normally, Flash Cache in older arrays, (43:26) this Flash Cache or
PAM is an optional component, that means, you need to pay some extra money (43:33)
in order to have this PAM, if you don't want, you can ask them to remove it, this
is an optional (43:41) component, but in your models, whatever the models we are
getting now, they made it as a (43:47) mandatory, because it will impact the
performance, like if you don't have a PAM, it will impact your (43:54) controller
performance, that's why they made it as a mandatory component. Now, let's see how
it (43:59) will work, how PAM will work, okay, so we discussed, right, like
whenever the write request is (44:07) happening, after committing the data to the
disks, my NVRAM will remove, flush the data, (44:14) right, that is what I told
you, okay, so before flushing the data, what NVRAM will do, NVRAM (44:22) will
create a log and it will save those logs in the PAM, if you have a PAM, then it
will save those (44:29) logs to the PAM, okay, and along with that, like whatever
that, and I told you, right, like (44:40) previously, there was a data, which is
accessed by my client, that's the reason my read part of (44:47) the caching
maintained the data within it, okay, but now my client is not accessing that data,
(44:53) so what my read cache will do, read cache will flush that data, right, from
read part of the (45:01) caching, so whatever the data flushed by read cache also,
that log also will be stored here, (45:09) that particular data related stuff also
will be stored in the PAM, so PAM is very huge in size, (45:15) when compared to
NVRAM and caching, the PAM is, the minimum size of PAM is 512 GB and it will
(45:23) be available to be in 1 TB and 2 TB as well, so you don't have any option
like that, but the thing (45:29) is, based on the controller model, they'll give
you the PAM, if it is a very high-end controller, (45:34) like 9000 and all,
they'll give you a 2 TB PAM, if it is a mid-range array, then they'll give you 1
(45:38) TB PAM, if it is a low-end, then it is 512 GB PAM, okay, now I'll tell you
what is the main, yeah, (45:47) sorry to interrupt, this PAM, is it works along
with NVRAM or it works with the caching? (45:54) That is what I'm going to explain,
okay, yeah, okay, so whenever mainly this PAM is related to, (46:06) it can, it
will deal with read requests, okay, it will deal with only read requests, so
whenever any (46:14) read request comes in, first it will go to the read part of
the cache and it will search for (46:19) the data, right, if it is not there, then
it will, it will go to the disks, it has to search all the (46:24) shelves, all the
disks and it has to find the data and it has to copy the data back to the cache
(46:30) and it will fulfill the request of my user, that is what it will happen,
right, so searching the (46:37) shelves and all the disks is adding additional
latency, right, it is adding additional latency (46:44) to the, my request, so
which will impact the performance of the controller, right, (46:51) so in order to
avoid that, they have introduced PAM actually, so as I told you, (46:58) PAM
contains the logs of the data which flushed from nvram as well as which flushed
from the (47:06) read part of the cache, right, so whenever any read request comes
in, first it will go to the (47:11) read part of the cache, if it was not able to
find the data there, then it will not go to the disks (47:17) directly, it will
come to the PAM, so in PAM, as I told you, it is maintaining logs, right, logs of
(47:24) the data, so let me give you a real-time example, for example, I have a
thousand pages book, okay, (47:32) now I want to, I asked you to open a topic, it
don't have index, then what you need to do, (47:38) you have to go to, go through
the book page by page, right, what if I have an index, I don't (47:44) need to go
through the entire book, I'll go through just index, so that I'll come to know,
(47:48) this particular topic is in this page, 950 page or something, same thing,
so when it is not able (47:55) to find the data in the read part of the cache, it
will come to the PAM and it will go through the (48:00) logs instead of going to
the shelves, okay, and by going through the logs here, it will come to know,
(48:08) okay, this particular data is in shelf 10, disk 20, something like that, it
will come to know the exact (48:14) location of data, so you don't need to scan all
the shelves and disk, right, it can go to the (48:19) particular location and fetch
the data from there and it will copy the data to the read part of the (48:24) cache
and it will fulfill the request, so that is the main advantage of having PAM or
flash cache, (48:32) is it clear? Yes, sir, and one more thing, this, when you say
logs, so is it in nodes or (48:39) there is something else? Something else and
we'll call it as NV log, okay, NV log, okay, okay, yeah, (48:48) I know it's a
different, I'll tell you that later, yeah, okay, sir, yeah, (48:56) okay, so mainly
the main purpose of NVRAM is to for read request, now let me clarify you, (49:03)
so cache will work on both write as well as read, okay, if it is a write request,
(49:14) then it will work with NVRAM, if it is a read request, then it will work
with PAM, (49:17) but cache will be involved in both writes and reads as well and
when it comes to NVRAM, (49:24) NVRAM will deal with only write requests and we
have a PAM, right, PAM or flash cache, (49:31) which will deal with only read
requests, okay, so don't get confused between these three components, (49:41) okay,
if you don't have any questions, then I'll proceed with the last component (49:45)
in our controller, that is flash module, we'll call it as flash module, boot
module, (50:08) so this is a component, which is very, very important to the
controller, (50:15) okay, so before that, I'll ask you a question, like do you know
where our, I mean the operating (50:23) system in our laptop will be stored, in
which place our operating system will be stored in our (50:31) laptop, C drive, no,
C drive will be having a supporting files of your operating system, (50:45) so C
drive, BIOS, BIOS, yes, yes, BIOS, basic input output system, yeah, when you hit
the power (50:52) on your laptop, first it will trigger the BIOS, from the BIOS, it
will trigger the operating (50:58) system and it will load the operating system to
the C drive, that is how it will work, the same (51:03) way, we have ONTAP, right,
ONTAP will be stored in the flash module, okay, so the actual ONTAP (51:13) will be
stored in this flash module only, again, this flash module or boot module, whatever
it is, (51:19) will be, again, it will be divided into two partitions logically,
okay, one will be the (51:25) current partition and another will be in the previous
partition, current partition and (51:30) previous partition, but these roles will
keep on exchange, for example, let's assume that, (51:42) let's assume that, I have
9.1 here, okay, I have a 9.2 ONTAP here, okay, now, (51:57) this is the current
version, this is the previous version, whenever I am planning to upgrade my (52:07)
ONTAP from 9.2 to 9.3 or 9.4, what it will do, it will not disturb the current
partition, (52:16) because with the help of this partition only, my controller is
up and running, so what it will do, (52:22) it will overwrite the ONTAP version in
previous partition with 9.3 or whatever the target version, (52:30) after that, the
controller will be rebooted, whenever it is booting up again, what it will do,
(52:37) it will go through the flash module and it will identify the latest version
and it will mark (52:45) wherever partition we have 9.3, right, it will mark that
particular partition as a current (52:50) partition and it will make the other
partition as a previous partition and it will boot with 9.3, (52:56) that is how it
will work, why we need a two partition, because as I told you, (53:01) if you are,
I mean, if you have only single partition, then what you need to do, I mean,
(53:06) it has to overwrite the current one, right, ONTAP, which it is running on,
so it might impact that (53:15) and one more thing, for example, I have installed
9.3, later I found that, no, I don't like the (53:23) features, I have a lot of
bugs in 9.3, which are creating a lot of issues to me or my environment, (53:29)
what I want to do, until they fix those bugs, I want to go back to my old operating
system, (53:35) so what I can do, I can boot with my old operating system as well,
that is the main purpose of having (53:44) two partitions in boot module, when you
see, when you log into the NetApp controller and (53:49) there is a command, which
I will show you, when we are doing the practicals, if you run
that, (53:53) then it will show you both the ONTAP versions we have on the
controller and it will show you (54:00) in detail information, okay, is it clear?
Yes.
Okay, yeah, that's it guys, this is the (54:09) architecture of NetApp controller,
if you have 24 controllers, 24 controllers will be having the (54:16) same
components only, only thing is, they may vary in sizes, like the PAM size is
different, (54:23) cache size is different, environment size might be different,
that's it, based on the hardware (54:26) model only, okay, if you don't have any
questions, then we'll stop the class for today, (54:33) just go to the video, if
you do, if you have any questions or concerns, ask me or if you want me to (54:39)
repeat the class one more time also, I'm fine, because this is a very very
important, like if (54:43) they want to ask you in depth on basics, they'll touch
you on architecture only, controller (54:49) architecture or they'll ask you what
is CP, they'll ask you what is, how write request will be (54:54) processed within
the controller or how read request will be processed within the controller, (54:58)
what is the purpose of environment, like that they might ask you these questions,
like trust me, (55:04) the experts who are already working also might be not able
to answer these basic questions, (55:09) because we know how to do everything, but
we don't know what is happening in the background, (55:15) most of them, that's
why, okay, that's why I have joined, (55:19) okay, all the things I'm working on,
it upgrades and everything, but there are a lot of things, (55:26) it's not clear
to me and one more thing, Naveen, I just wanted to ask, (55:30) when we have
multiple controllers and this, the ring get changed, so that will be discussed
later (55:38) on or, yeah, yeah, everything will be covered, don't worry, okay,
okay, okay, thank you, I'll (55:45) share this diagram with you, I'll upload the
diagram also along with the video recording, (55:50) okay, okay, thank you, have a
nice day, thank you, bye.

You might also like