to the system. As usual, the details of our hosts are:
HOSTS: snorkle (sunhost), tux (linhost), beastie (bsdhost) PROMPT: host [0] Solaris INFO: Solaris 10, x86 Linux INFO: CentOS 5.4, x86 FreeBSD INFO: FreeBSD 8.1, x86Unlike Linux and FreeBSD, we have to actually tell Solaris about some
of our devices, such as disks. Typically, we can accomplish this in
the simplest fashion with a reconfiguration boot (boot -r) or reboot
(reboot -- -r). After all disks have been identified by Solaris, we can
get info on them. To see what disks are attached, we can use 'cfgadm':
snorkle [0] /usr/sbin/cfgadm -al Ap_Id Type Receptacle Occupant Condition c1 scsi-bus connected configured unknown c1::dsk/c1t0d0 disk connected configured unknown c1::dsk/c1t2d0 disk connected configured unknown c1::dsk/c1t3d0 disk connected configured unknown usb0/1 unknown empty unconfigured ok <snip...>To see the device paths and disk size of each known disk, use format:
snorkle [0] echo "^D" | /usr/sbin/format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c1t0d0 <DEFAULT cyl 1334 alt 2 hd 255 sec 63> /pci@0,0/pci1000,8000@14/sd@0,0 1. c1t2d0 <DEFAULT cyl 509 alt 2 hd 64 sec 32> /pci@0,0/pci1000,8000@14/sd@2,0 2. c1t3d0 <DEFAULT cyl 509 alt 2 hd 64 sec 32> /pci@0,0/pci1000,8000@14/sd@3,0 Specify disk (enter its number): `' is not an integer. Specify disk (enter its number): snorkle [1]To resolve the disk sizes, with c1t0d0 as the example, multiply the
cylinders, heads, sectors. Since this gives the number of 512 byte
blocks, divide by 2 to get the size in KB. To get the disk size in
GB, divide by 1048576:
snorkle [1] echo "scale=2 ; ((1334 * 255 * 63) / 2) / 1048576" | /usr/bin/bc 10.21In Linux:
'fdisk' keeps things simple by listing all known disks and sizes:
tux [0] /sbin/fdisk -l | /bin/grep ^Disk Disk /dev/sda: 11.0 GB, 11004805120 bytes Disk /dev/sdb: 11.0 GB, 11005853696 bytes Disk /dev/sdc: 536 MB, 536870912 bytes Disk /dev/sdd: 536 MB, 536870912 bytesIn FreeBSD:
In FreeBSD versions 7.0 and newer, 'gpart' will list out similar
data to 'fdisk' in Linux:
beastie [0] /sbin/gpart show | /usr/bin/grep '=>' => 63 21495726 da1 MBR (10G) => 63 21493647 mirror/gm0 MBR (10G) => 0 21478842 da1s1 BSD (10G) => 32 1048544 da3 MBR (512M) => 0 21478842 mirror/gm0s1 BSD (10G) => 0 1048544 da3s1 BSD (512M) => 32 1048544 da2 MBR (512M)Since a GEOM mirror device was listed, 'gmirror' will tell us the
supporting device(s) and 'fdisk' will get us the disk size:
beastie [0] /sbin/gmirror status gm0 Name Status Components mirror/gm0 COMPLETE da0 beastie [0] /sbin/fdisk -s da0 /dev/da0: 1337 cyl 255 hd 63 sec Part Start Size Type Flags 1: 63 21478842 0xa5 0x80To get the disk size in GB, the same process as in Solaris of
multiplying the cylinders, heads, and sectors, diviing by 2, and
dividing by 1048576 can be used:
beastie [0] echo "scale=2; ((1337 * 255 * 63) / 2) / 1048576" | /usr/bin/bc 10.24For all versions of FreeBSD going back to 4.1, you can also grab the
disk info from 'dmesg.boot'. The 'egrep' pattern is for lines
beginning with any of the known FreeBSD disk types:
beastie [0] /usr/bin/egrep '^(ad|da|fla|aacd|mlxd|amrd|idad|twed)' /var/run/dmesg.boot da0 at mpt0 bus 0 scbus0 target 0 lun 0 da0: <VBOX HARDDISK 1.0> Fixed Direct Access SCSI-5 device da0: 3.300MB/s transfers da0: Command Queueing enabled da0: 10495MB (21493760 512 byte sectors: 255H 63S/T 1337C) da1 at mpt0 bus 0 scbus0 target 1 lun 0 da1: <VBOX HARDDISK 1.0> Fixed Direct Access SCSI-5 device da1: 3.300MB/s transfers da1: Command Queueing enabled da1: 10496MB (21495808 512 byte sectors: 255H 63S/T 1338C) da2 at mpt0 bus 0 scbus0 target 2 lun 0 da2: <VBOX HARDDISK 1.0> Fixed Direct Access SCSI-5 device da2: 3.300MB/s transfers da2: Command Queueing enabled da2: 512MB (1048576 512 byte sectors: 64H 32S/T 512C) da3 at mpt0 bus 0 scbus0 target 3 lun 0 da3: <VBOX HARDDISK 1.0> Fixed Direct Access SCSI-5 device da3: 3.300MB/s transfers da3: Command Queueing enabled da3: 512MB (1048576 512 byte sectors: 64H 32S/T 512C)Next up is network interfaces.