During an initial installation or a Solaris Live Upgrade from a UFS file system, a swap area is created on a ZFS volume in the ZFS root pool. For example:
# swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/mpool/swap 253,3 16 8257520 8257520 |
During an initial installation or a Solaris Live Upgrade from a UFS file system, a dump device is created on a ZFS volume in the ZFS root pool. In general, a dump device requires no administration because it is setup automatically at installation time. For example:
# dumpadm Dump content: kernel pages Dump device: /dev/zvol/dsk/mpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes |
If you disable and remove the dump device, then you will need to enable it with the dumpadm command after it is recreated. In most cases, you will only have to adjust the size of the dump device by using the zfs command.
For information about the swap and dump volume sizes that are created by the installation programs, see Solaris Installation and Solaris Live Upgrade Requirements for ZFS Support.
Both the swap volume size and the dump volume size can be adjusted during and after installation. For more information, see Adjusting the Sizes of Your ZFS Swap and Dump Devices.
Consider the following issues when working with ZFS swap and dump devices:
Separate ZFS volumes must be used for the swap area and dump devices.
Currently, using a swap file on a ZFS file system is not supported.
If you need to change your swap area or dump device after the system is installed or upgraded, use the swap and dumpadm commands as in previous Solaris releases. For more information, see Chapter 21, Configuring Additional Swap Space (Tasks), in System Administration Guide: Devices and File Systems and Chapter 17, Managing System Crash Information (Tasks), in System Administration Guide: Advanced Administration.
See the following sections for more information:
Because of the differences in the way a ZFS root installation sizes swap and dump devices, you might need to adjust the size of swap and dump devices before, during, or after installation.
You can adjust the size of your swap and dump volumes during an initial installation. For more information, see Example 5–1.
You can create and size your swap and dump volumes before you perform a Solaris Live Upgrade operation. For example:
Create your storage pool.
# zpool create rpool mirror c0t0d0s0 c0t1d0s0 |
Create your dump device.
# zfs create -V 2G rpool/dump |
Enable the dump device.
# dumpadm -d /dev/zvol/dsk/rpool/dump Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes Save compressed: on |
Select one of the following to create your swap area:
On a SPARC based system, create your swap area. Set the block size to 8 Kbytes.
# zfs create -V 2G -b 8k rpool/swap |
On an x86 based system, create your swap area. Set the block size to 4 Kbytes.
# zfs create -V 2G -b 4k rpool/swap |
You must enable the swap area when a new swap device is added or changed.
Add an entry for the swap volume to the /etc/vfstab file.
Solaris Live Upgrade does not resize existing swap and dump volumes.
You can reset the volsize property of the dump device after a system is installed. For example:
# zfs set volsize=2G rpool/dump # zfs get volsize rpool/dump NAME PROPERTY VALUE SOURCE rpool/dump volsize 2G - |
You can resize the swap volume but until CR 6765386 is integrated, it is best to remove the swap device first. Then, recreate it. For example:
# swap -d /dev/zvol/dsk/rpool/swap # zfs volsize=2G rpool/swap # swap -a /dev/zvol/dsk/rpool/swap |
For information on removing a swap device on an active system, see this site:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
You can adjust the size of the swap and dump volumes in a JumpStart profile by using profile syntax similar to the following:
install_type initial_install cluster SUNWCXall pool rpool 16g 2g 2g c0t0d0s0 |
In this profile, the 2g and 2g entries set the size of the swap area and dump device as 2 Gbytes and 2 Gbytes, respectively.
If you need more swap space on a system that is already installed, just add another swap volume. For example:
# zfs create -V 2G rpool/swap2 |
Then, activate the new swap volume. For example:
# swap -a /dev/zvol/dsk/rpool/swap2 # swap -l swapfile dev swaplo blocks free /dev/zvol/dsk/rpool/swap 256,1 16 1058800 1058800 /dev/zvol/dsk/rpool/swap2 256,3 16 4194288 4194288 |
Add an entry for the second swap volume to the /etc/vfstab file.
Review the following items if you have problems either capturing a system crash dump or resizing the dump device.
If a crash dump was not created automatically, you can use the savecore command to save the crash dump.
A dump device is created automatically when you initially install a ZFS root file system or migrate to a ZFS root file system. In most cases, you will only need to adjust the size of the dump device if the default dump device size is too small. For example, on a large-memory system, the dump device size is increased to 40 Gbytes as follows:
# zfs set volsize=40G rpool/dump |
Resizing a large dump device can be a time-consuming process.
If, for any reason, you need to enable a dump device after you create a dump device manually, use syntax similar to the following:
# dumpadm -d /dev/zvol/dsk/rpool/dump Dump content: kernel pages Dump device: /dev/zvol/dsk/rpool/dump (dedicated) Savecore directory: /var/crash/t2000 Savecore enabled: yes Save compressed: on |
A system with 128 Gbytes or greater memory will need a larger dump device than the dump device that is created by default. If the dump device is too small to capture an existing crash dump, a message similar to the following is displayed:
# 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 |
For information on sizing the swap and dump devices, see Planning for Swap Space in System Administration Guide: Devices and File Systems.
You cannot currently add a dump device to a pool with multiple top level-devices. You will see a message similar to the following:
# dumpadm -d /dev/zvol/dsk/datapool/dump dump is not supported on device '/dev/zvol/dsk/datapool/dump': 'datapool' has multiple top level vdevs |
Add the dump device to the root pool, which cannot have multiple top-level devices.