Managing disk or data storage is a common task for system administrators. As data grows on the disks or file systems, you have to expand the storage area. In some cases, you have to reduce storage from one area and give it to another data area. To be able to do this, you must understand the information presented to you when you run any commands related to disk or file system data. In this article, I will cover how to determine the type of disks being used and the size of the disks. I will also demonstrate how to add a disk to or remove a disk from a Volume Group (VG). File systems that are contained in the VGs can also be increased or reduced in their size; this will be demonstrated as well. Assume a couple of new disks have been added to the AIX system. To bring the disks in (and by that I mean to ensure that AIX recognizes each disk and adds it to its internal Object Database Manager (ODM), use this command: # cfgmgr The disks will now be presented as shown below. Use the lspv command to view the disks: # lspv hdisk0 00c23bed42b3aefe rootvg active hdisk1 00c23bed42b3afff rootvg active hdisk2 00525c6a888e32cd None hdisk3 00c23bed32883598 None What Type of Disk Is PresentIn this example, the new disks come in as hdisk2 and hdisk3. New disks will not necessarily come in sequential order. This is particularly true if the disks use disk slots and you do not populate them one after the other. Notice that the new disks have not yet been assigned to a VG, so the third column states None. We can tell what sort of disk each is by querying the ODM using the lsdev command:# lsdev -Cc disk hdisk0 Available 04-08-00-3,0 16 Bit LVD SCSI Disk Drive hdisk1 Available 04-08-00-4,0 16 Bit LVD SCSI Disk Drive hdisk2 Available 04-08-00-5,0 16 Bit LVD SCSI Disk Drive hdisk3 Available 04-08-00-8,0 16 Bit LVD SCSI Disk Drive The new disks are SCSI disks as are the others. Disk Sizes: How to TellLet's now determine the size of the disks. There are a few methods you can use to see the disk size. Let's look at the most common methods. First, we'll use the lsattr command, which returns device information on the system. The format of the command is this:lsattr -El < device> # lsattr -El hdisk2 PCM PCM/friend/scsiscsd Path Control Module False algorithm fail_over Algorithm True … … size_in_mb 18200 Size in Megabytes False unique_id 21080006CB0A0AST318305LC03IBMscsi Unique device identifier False The above lsattr output states that the disk is 18200 MB or 17.7 GB. You can also use the undocumented command bootinfo. Though this is discouraged by IBM, it will return the usable amount of disk that can be used by the system after formatting. Here's the format of the command: bootinfo -s <device> # bootinfo -s hdisk2 17357 The above output states we have a 17357 MB disk or 16.9 GB. The best and recommended way to determine the size of a disk is to use the getconf command. The getconf will extract the systemwide variables from the kernel. Here's the format: getconf DISK_SIZE <path_to_device> # getconf DISK_SIZE /dev/hdisk2 17357 In the above output, the getconf returns 17357MB or 16.9 GB. We have used three commands to get the disk sizes. Two of them agree on the size. Not bad, I guess. To get the correct disk size, use getconf, as this comes from the kernel, the heart of the AIX system. Creating a Volume GroupFor a disk to be used for storage, it needs to be added to an existing VG or a new VG. Let's first add it to a new VG called testvg. The format for the command I am now going to run is this:mkvg -B -y <vg_name> <hdiska, hdiskb,..., hdiskn> here, -B means it should be a big VG. It will be able to have up to 128 disks if required in the VG. The vg_name is the name you are going to call it, followed by a list of hdisks you wish to assign to the VG. Here is the command: # mkvg -B -y testvg hdisk2 testvg Viewing the current VGs on the system, we can see that it is present. # lsvg rootvg holdvg testvg You can see that hdisk2 is now assigned to the VG testvg. Use the lspv command to confirm: # lspv hdisk0 00c23bed42b3aefe rootvg active hdisk1 00c23bed42b3afff rootvg active hdisk2 00525c6a888e32cd testvg active hdisk3 00c23bed32883598 None You can also query the disks contained in a VG by issuing the lsvg command: # lsvg -p testvg testvg: PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION hdisk2 active 542 542 109..108..108..108..109 Volume Group MaintenanceLet's now add another disk, hdisk3 to the volume group testvg. First, though, determine the disk size:# getconf DISK_SIZE /dev/hdisk3 70006 It's 70 GB or thereabouts. Now, let's add the disk to the existing VG testvg, using the extendvg comamnd. The format for the command I am now going to run is this: extendvg <vg_name> <hdiska, hdiskb,..., hdiskn> Here, vg_name is the name of the VG, followed by a list of hdisks you wish to add to the VG. Here's the command: # extendvg testvg hdisk3 Now let's view the disks and to see what VG is assigned to them. The following output states that hdisk2 and hdisk3 are assigned to the VG testvg: # lspv hdisk0 00c23bed42b3aefe rootvg active hdisk1 00c23bed42b3afff rootvg active hdisk2 00525c6a888e32cd testvg active hdisk3 00c23bed32883598 testvg active Now that we've added the extra disk, let's get the size of the VG. In the following output, we can determine the size of the VG by locating the TOTAL PP value (total number of physical partitions on the disks). In this example, it's 87328 MB or 85.2 GB. # lsvg testvg VOLUME GROUP: testvg VG IDENTIFIER: 00c23bed00004c00000 0013805b7d417 VG STATE: active PP SIZE: 32 megabyte(s) VG PERMISSION: read/write TOTAL PPs: 2729 (87328 megabytes … … To calculate the size of the VG, you can also use the following formula, using the values from the above lsvg command: PP SIZE * TOTAL PP Like so: # expr 2729 \* 32 87328 To remove a disk from a VG, first be sure you have removed all data from that disk. You will be warned if there is data on the disk and you try to remove it, which is a good reminder in my books. Typically, you would unmount any file systems and remove them using the rmfs command on the disk you want to remove. Alternatively, you could use migratepv to literally migrate the data from that disk to another disk contained in that VG. Let's assume all data has been removed from that disk. To remove a hdisk from a VG, use the reducevg command. The format for this example is this: reducevg <vg_name> <hdiska, hdiskb,..., hdiskn> Here, the vg_name is the name of the VG, followed by a list of hdisks you wish to remove from the VG. Here's the command: # reducevg testvg hdisk2 The VG testvg now has only hdisk3 assigned to it: # lsvg -p testvg testvg: PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION hdisk3 active 2187 1866 438..116..437..437..438 Dynamically Changing File System SizesIn our VG, we also now have some data. A file system called /data_fs is present with a size of 8 GB. The file system has data residing in it; it's 71% used and has only 2.38 GB of free space left:# df -g Filesystem GB blocks Free %Used Iused %Iused Mounted on …. …. /dev/fslv00 8.00 2.38 71% 27 1% /data_fs That file is getting pretty full, so let's now increase that file system to 12G. The format for increasing or decreasing a file system in GB or MB increments in this example is this: chfs -a size=<size_in_units_of_gigabyte|megabyte M|G> /file_filesystem So to increase the file system from 8 GB to 12 GB, I could use this: # chfs -a size=12G /data_fs Filesystem size changed to 25165824 Looking at the newly change file system size, we see the change: # df -g| grep data_fs Filesystem GB blocks Free %Used Iused %Iused Mounted on … ... /dev/fslv00 12.00 6.38 47% 27 1% /data_fs Now suppose we wanted to reduce the file system size by 2G, so the new size would be 10G. We could use this: # chfs -a size=10G /data_fs Filesystem size changed to 20971520 Let's view the new file system size: # df -g| grep data_fs Filesystem GB blocks Free %Used Iused %Iused Mounted on .. ... /dev/fslv00 10.00 4.38 57% 27 1% /data_fs Now You KnowIn this demonstration, I have shown some of the commands required to determine the size and type of disks. I also explained how to create or remove a VG. Changing a file system size has also been demonstrated. These are the basic tools you need when dealing with simple data storage commands that relate to a VG or file system. |
Sunday, 24 March 2013
Managing Disks and File Systems on AIX
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment