如何查找与安装点关联的HD


8

我在Sun Solaris系统上运行。

我想知道以下

  1. 如何找到与安装点关联的HD?
  2. 如何找到所有可用的HD(挂载点已使用和未使用的HD)?
  3. 如何找到与挂载点关联的HD的IO控制器使用率?我试图找出与安装点关联的HD的IO控制器是否正在处理过多的请求,从而迫使其他一些请求等待。
  4. 如何找到每个可用磁盘上的可用空间?

Abhinav,是Solaris9还是Solaris10?您正在使用ZFS或MD管理硬盘吗?如果是ZFS,则zpool命令应显示池下的状态和可用空间。池=在单个主机下管理的磁盘集合,以显示总逻辑空间。
Nikhil Mulley

Answers:


10

查找挂载点的列表,以及每个挂载点使用的磁盘:

看一下/etc/vfstab-该文件显示了系统上配置了哪些文件系统,包括在哪些安装点使用了哪些磁盘。该文件不用于ZFS文件系统。

# cat /etc/vfstab
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c1t0d0s1       -       -       swap    -       no      -
/dev/dsk/c1t0d0s0       /dev/rdsk/c1t0d0s0      /       ufs     1       no      -
/dev/dsk/c1t1d0s0       /dev/rdsk/c1t1d0s0      /jumpserver     ufs     1       yes     -
/devices        -       /devices        devfs   -       no      -
ctfs    -       /system/contract        ctfs    -       no      -
objfs   -       /system/object  objfs   -       no      -
swap    -       /tmp    tmpfs   -       yes     -
#/jumpserver/install/SunOS/5.10/i386/u4/boot - /tftpboot/I86PC.Solaris_10-4 lofs - yes ro
#/jumpserver/install/SunOS/5.10/i386/u7/boot - /tftpboot/I86PC.Solaris_10-7 lofs - yes ro
/jumpserver/install/SunOS/5.10/i386/u9/boot - /tftpboot/I86PC.Solaris_10-9 lofs - yes ro
/jumpserver/install/SunOS/5.10/i386/u7/boot - /tftpboot/I86PC.Solaris_10-10 lofs - yes ro

运行命令zpool status-此命令将打印在系统上配置和导入的所有zpool的列表,并列出每个池中使用的磁盘以及该池的配置(就镜像而言)或raidz等。

# zpool status
  pool: rpool
 state: ONLINE
 scrub: none requested
config:

        NAME          STATE     READ WRITE CKSUM
        rpool         ONLINE       0     0     0
          mirror-0    ONLINE       0     0     0
            c0t0d0s0  ONLINE       0     0     0
            c0t1d0s0  ONLINE       0     0     0

errors: No known data errors

运行命令mount -p-这将显示vfstab样式的列表,列出服务器上安装的所有文件系统。这样做的重要性在于,它可以识别已挂载但从未添加到/ etc / vfstab中的文件系统,或者可以对未持久化的挂载进行更改。

# mount -p
/dev/dsk/c1t0d0s0 - / ufs - no rw,intr,largefiles,logging,xattr,onerror=panic
/devices - /devices devfs - no 
ctfs - /system/contract ctfs - no 
proc - /proc proc - no 
mnttab - /etc/mnttab mntfs - no 
swap - /etc/svc/volatile tmpfs - no xattr
objfs - /system/object objfs - no 
/usr/lib/libc/libc_hwcap1.so.1 - /lib/libc.so.1 lofs - no 
fd - /dev/fd fd - no rw
swap - /tmp tmpfs - no xattr
swap - /var/run tmpfs - no xattr
/dev/dsk/c1t1d0s0 - /jumpserver ufs - no rw,intr,largefiles,logging,xattr,onerror=panic
/hgfs - /hgfs vmhgfs - no 
/dev/lofi/1 - /mnt/s10u9x86 hsfs - no ro,noglobal,maplcase,rr,traildot
/dev/lofi/2 - /mnt/s10u9x86ccd hsfs - no ro,noglobal,maplcase,rr,traildot
/dev/lofi/3 - /mnt/s10u9 hsfs - no ro,noglobal,maplcase,rr,traildot
/jumpserver/install/SunOS/5.10/i386/u7/boot - /tftpboot/I86PC.Solaris_10-10 lofs - no ro

运行命令cfgadm -al-这将为您提供系统上所有控制器以及连接到这些控制器的所有设备的列表。

# cfgadm -al
Ap_Id                          Type         Receptacle   Occupant     Condition
c1                             scsi-bus     connected    configured   unknown
c1::dsk/c1t0d0                 disk         connected    configured   unknown
c1::dsk/c1t1d0                 disk         connected    configured   unknown

运行命令format-查看系统中安装的所有磁盘的详细信息,并未提供cfgadm -al。特别要注意的是子命令verifyinquiry

# format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
       0. c0t0d0 <DEFAULT cyl 60797 alt 2 hd 255 sec 252>
          /pci@0,0/pci8086,340b@4/pci1028,1f10@0/sd@0,0
       1. c0t1d0 <DEFAULT cyl 60797 alt 2 hd 255 sec 252>
          /pci@0,0/pci8086,340b@4/pci1028,1f10@0/sd@1,0
       2. c0t2d0 <DEFAULT cyl 60797 alt 2 hd 255 sec 252>
          /pci@0,0/pci8086,340b@4/pci1028,1f10@0/sd@2,0
       3. c0t3d0 <DEFAULT cyl 60478 alt 2 hd 255 sec 252>
          /pci@0,0/pci8086,340b@4/pci1028,1f10@0/sd@3,0
Specify disk (enter its number): 

例如,0在上面的菜单中选择磁盘,然后运行inquiry

format> inquiry
Vendor:   ATA     
Product:  Hitachi HUA72202
Revision: A3HA

verify

format> verify

Primary label contents:

Volume name = <        >
ascii name  = <DEFAULT cyl 60797 alt 2 hd 255 sec 252>
pcyl        = 60799
ncyl        = 60797
acyl        =    2
bcyl        =    0
nhead       =  255
nsect       =  252
Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm       1 - 60796        1.82TB    (60796/0/0) 3906750960
  1 unassigned    wm       0                0         (0/0/0)              0
  2     backup    wm       0 - 60796        1.82TB    (60797/0/0) 3906815220
  3 unassigned    wm       0                0         (0/0/0)              0
  4 unassigned    wm       0                0         (0/0/0)              0
  5 unassigned    wm       0                0         (0/0/0)              0
  6 unassigned    wm       0                0         (0/0/0)              0
  7 unassigned    wm       0                0         (0/0/0)              0
  8       boot    wu       0 -     0       31.38MB    (1/0/0)          64260
  9 unassigned    wm       0                0         (0/0/0)              0

现在您有了品牌和型号,以及分区表。由此,结合先前命令中收集的信息,您可以将可用磁盘/分区(在solaris中称为分片)及其对应的文件系统(如果有)的映射放在一起。您还将知道哪些切片未使用(可用空间)。

至于哪个磁盘正忙,这就是命令iostat的用途:

# iostat -zxnM 5
                extended device statistics              
r/s    w/s   Mr/s   Mw/s wait actv wsvc_t asvc_t  %w  %b device
0.0   29.3    0.0    0.5  0.0  2.2    0.0   76.7   0  33 c8t0d0
0.0   29.3    0.0    0.5  0.0  2.2    0.0   73.9   0  32 c8t1d0

哪里:

r/s - Reads per second
w/s - Writes per second
Mr/s - Mbytes read per second
Mw/s - Mbytes written per second
wait - Average number of transactions that are waiting for service (queue length)
actv - Average number of transactions that are actively being serviced
svc_t - Average service time, in milliseconds
%w - Percentage of time that the queue is not empty

了解了哪些磁盘上的内容之后,就可以确定导致I / O的应用程序,然后从那里深入分析原因。

在Google上搜索solaris iostat brendan gregg,您会发现一些有关调查I / O问题的好信息,包括分别指向 Solaris <10和Solaris 10+ 的K9ToolkitDTraceToolkit的链接,它们可以真正简化调查工作。 I / O问题。


0

请问iostat -En您有可用的硬盘吗?

df -h /path/to/mountpoint/. 通常会打印出您要查找的所有内容,还会打印出挂载点下正在使用的硬盘/设备,并给出了底层可用的可用空间/可用块数。


挂载点上的df将提供挂载点/文件系统上可用的可用空间量,而不是整个硬盘上的可用空间量。使用fdisk之类的工具来查找单个磁盘上可用的总磁盘空间。
Nikhil Mulley
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.