Storage
From i-doit documentation
Contents |
Standard Storage
To get an impression how "Storage" is working, lets first have a look at the sectioning of the categories:
- Controllers are hardware controllers that connect storage devices, for example ATA, SATA oder SCSI controllers.
- Devices are hardware storage devices like harddisks or CD-Roms.
- Drives are logical partitions on a storage device, you can also enter information about their file system and drive letter at the OS level.
The last two categories are special:
- FC-Ports are FibreChannel ports needed to interconnect different SAN-devices. They operate similar to network ports.
- SAN-Pools are logical collections of devices that build together a SAN-Pool, which can be used as a storage device by other machines.
The best way to enter a complete storage configuration into i-doit is to complete the first three categories in the sequence described above. Each of this categories can depend on another, but you must not fill all categories and make them dependent on each other to work with storage.
Example: SATA-Controller (Controller) ---> HD1 (Device) ---> Drive C: (Drive)
Raid Storage On Device Level
It is really easy to enter a standard disk configuration, but it gets a little bit more tricky if you want to document a RAID-device. To make the documentation possible we created a dummy device called "Raid-group (device)". This device hosts a group of normal devices (harddisks) and defines the type of Raid (0-10).
So the first step to create a Raid configuration is to create a device of the type "Raid-group (device)". Then you enter the harddisks that belong to the Raid as single devices. At last you assign the single harddisk devices to the dummy "Raid-group (device)". So the complete Raid configuration happens within the categorie "device".
Example:
Raid5-group (device) has assigned IBM-HD1 (device), IBM-HD2 (device), IBM-HD3 (device), IBM-HD4 (device).
The Raid-group object acts as a standard device when you want to make dependencies to upper levels (drive). Dependencies to the lower level (controller) are build by the single devices belonging to the Raid-group.
Example: SATA-Controller (Controller) ---> HD1 (Device), HD2 (Device), HD3 (Device), HD4 (Device) assigned to Raid-Group-Lvl-5 (Device) ---> Drive C: (Drive)
Raid Storage On Drive Level
But to complete the Raid logic, there is also a way to create Raid storage at the drive (a drive definition also implies the partition) level. In most OS you can define software Raid configurations. These configurations do not necessarily need to apply to the whole harddisk, you can also for example span volumes above three partitions on three different harddisks. The way to enter these kind of configurations is similar to the device level Raid configurations explained above. The only difference is that you have a dummy "Raid-Group (drive)" where you can assign logical drives to.
Example:
SATA-Controller (Controller) ---> HD1 (Device) ---> Partition 1 (Drive) assigned to Raid-Group-Lvl-0 (drive)
SATA-Controller (Controller) ---> HD2 (Device) ---> Partition 1 (Drive) assigned to Raid-Group-Lvl-0 (drive)
SAN
A SAN configuration involves not only a single object like a server, there need to be atleast two objects that build a complete configuration. One of the objects forms the category SAN-Pool and the other machine (or machines) use this SAN-Pool as a device.
Lets have a detailed look at the configuration. As an example you have a machine that is your SAN-server which hosts the physical storage, like an 2TB Raid5 array of harddisks. This can be an object of the type "SAN" or "Server". First you can document the 2TB Raid5 array like normal storage in this machine. After this you build SAN-Pools on this machine and define a size for them.
Example:
SCSI-Controller (Controller) ---> HD1 (Device), HD2 (Device), HD3 (Device) assigned to Raid-Group-Lvl-5 (Device) ---> SAN-Pool1 (SAN-Pool)
Hint: This picture is a little bit wrong, because SAN-pools are not connected to Devices. You can just build a SAN-Pool without any devices defined, this is because on real SAN systems you can not always see which SAN-Pools are running on which devices.
The other machine you have to define is the server using the SAN-pool. At this server object you must create a new device of the type "SAN". In the details of this object you can choose which SAN-Pool you want the device to use. Once this device is created you can use it like any other device in i-doit and connect as an example a drive to it. You can also connect it to a controller of the type "FC" or "iSCSI/FCIP", which explanation we will cover now.
iSCSI/FCIP Connection
Once you have configured the SAN-Pool and the device using it, it is time to configure the connection between the machine serving the SAN-Pool and the machine using the SAN-Pool. You do not have to document this connection, but you can do it. As there are two different kind of SANs (FC-SANs and iSCSI/FCIP SANs), there are two different ways of connecting them. When you document an iSCSI SAN, you "just" have to document the network configuration on both machines and the network way between them. Please take a look at the network howtos for a detailed description. For connecting the SAN-Pool you can create a dummy storage controller of the type "iSCSI/FCIP".
FC-Connection
If you document a FibreChannel SAN connection, you first have to create a storage controller of the type "FC". This object is the HBA you are using in your server or SAN-machine. Once this controller is created you switch to the category "FC port" and create one or more ports that are on the FC-controller. You can create these storage controllers of the type "FC" and the corresponding FC-ports on each object (Server, FC-Switch, SAN-Storage) that is connected in your FibreChannel network and connect them in the details of the port objects. Using this feature you can document your whole FC network structure.
Connection documentation: Object: SAN1 (SAN) Server1 (Server) ;A SAN-Storage and a Server object Category: FC-ControllerA (Controller) FC-ControllerB (Controller) ;Each one has a HBA (FC-Controller) Category: FC-Port1 (FC-Port) <-------------> FC-Port1 (FC-Port) ;The HBAs have Ports that are connected to each other Storage documentation: Category: SCSI1 (Controller) ;The SCSI Controller on the SAN-Storage machine Category: HD1 - HD5 (Device) ;5 HDDs attached to the SCSI Controller Category: Raid1 (Device) ;A hardware RAID5 array using the 5 HDDs Category: Pool1 (SAN-Pool) <------> virt-SAN-device (Device) ;A SAN-Pool on the array which is used by Server1 as a device Category: Drive c: (Drive) ;A Drive c: formatted on the SAN device