从 Oracle® Solaris 10 转换至 Oracle Solaris 11.2

退出打印视图

更新时间: 2014 年 12 月
 
 

交换和转储设备配置变更

交换空间是磁盘中的保留区域,可供 Oracle Solaris OS 软件和应用程序软件用于临时存储。当系统没有足够的物理内存来处理当前正在运行的进程时,将使用交换空间作为虚拟内存存储区域。在 Oracle Solaris 10 中,UFS 根环境为交换设备和转储设备都提供了一个磁盘分片。在 Oracle Solaris 11 中,会创建两个独立的卷分别作为交换设备和转储设备。在 ZFS 根文件系统中,为交换所保留的磁盘空间为 ZFS 卷。按如下所示使用 dumpadm 命令可显示此信息:

# dumpadm
Dump content: kernel pages
Dump device: /dev/zvol/dsk/rpool/dump (dedicated)
Savecore directory: /var/crash
Savecore enabled: yes
Save compressed: on
# swap -l
swapfile             dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 182,2         8  4061176  4061176

显示有关交换和转储卷名称及大小的信息,如下所示:

# zfs list -t volume -r rpool
NAME         USED  AVAIL  REFER  MOUNTPOINT
rpool/dump  4.13G  51.6G  4.00G  -
rpool/swap  4.13G  51.6G  4.00G  -

可以采用方便用户阅读的格式显示交换空间大小,如以下示例所示:

# swap -sh
total: 1.4G allocated + 227M reserved = 1.6G used, 432G available
# swap -lh
swapfile                   dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 285,2        8K     4.0G     4.0G

    ZFS 交换和转储卷的管理与 UFS 交换和转储设备的单个分片的管理有所不同,这体现在以下几个方面:

  • 在 ZFS 根环境中,无法为交换和转储设备使用单个卷。

  • 在 ZFS 根环境中,无法将文件用作交换设备。

  • 系统要求转储设备的大小大约是物理内存大小的 1/2 到 3/4。如果转储设备太小,则会出现类似于以下内容的错误消息:

    # dumpadm -d /dev/zvol/dsk/rpool/dump
    dumpadm: dump device /dev/zvol/dsk/rpool/dump is too small to hold a system dump
    dump size 36255432704 bytes, device size 34359738368 bytes

您可以通过增大卷的 volsize 属性值轻松增加转储设备的大小,如以下示例所示,但是需要花一些时间来重新初始化卷。

# zfs get volsize rpool/dump
NAME        PROPERTY  VALUE  SOURCE
rpool/dump  volsize   1.94G  local
# zfs set volsize=3g rpool/dump
# zfs get volsize rpool/dump
NAME        PROPERTY  VALUE  SOURCE
rpool/dump  volsize   3G     local

如果交换设备正在使用中,则更改交换卷的大小比较困难。可考虑创建另一个交换卷并将其添加为交换设备,如下所示:

# zfs create -V 3G rpool/swap2
# swap -a /dev/zvol/dsk/rpool/swap2
# swap -l
swapfile             dev    swaplo   blocks     free
/dev/zvol/dsk/rpool/swap 182,2         8  4061176  4061176
/dev/zvol/dsk/rpool/swap2 182,4         8  6291448  6291448

然后,在 /etc/vfstab 文件中为新交换设备添加一个条目。例如:

/dev/zvol/dsk/rpool/swap2    -        -       swap    -       no      -

有关交换空间和转储设备配置的更多信息,请参见在 Oracle Solaris 11.2 中管理文件系统 中的关于交换空间