23 May 2022

Solaris 11.4 SRU45 (May 2022) - zstd compression utility

Solaris 11.4.45 includes now the zstd compression utility.

-bash-5.1$ zstd -V
*** zstd command line interface 64-bits v1.5.0, by Yann Collet ***

To compare I have a Oracle DB19c home as a tar file.
I executed this tests on a SPARC S7 LDom with 1 core

# ls -lh 19c.tar
-rw-r--r--   1 root     root       6.66G May 23 17:36 19c.tar

zstd does a higher compression compared to lz4, but takes
more time.

# time zstd 19c.tar -o 19c.tar.zstd
19c.tar              : 39.24%   (7153274368 => 2806612298 bytes, 19c.tar.zstd)

real    3m26.408s
user    3m29.804s
sys     0m6.698s

# time lz4 19c.tar
Compressed filename will be : 19c.tar.lz4
Compressed 7153274368 bytes into 3629706666 bytes ==> 50.74%

real    2m35.092s
user    2m25.227s
sys     0m6.852s

# ls -lh 19c.tar.lz4 19c.tar.zstd
-rw-r--r--   1 root     root       3.38G May 23 17:36 19c.tar.lz4
-rw-r--r--   1 root     root       2.61G May 23 18:14 19c.tar.zstd

With decompression zstd is a bit faster than lz4.

# time unlz4 19c.tar.lz4
Decoding file 19c.tar
19c.tar.lz4          : decoded 7153274368 bytes

real    2m9.913s
user    1m23.008s
sys     0m8.339s

# time unzstd 19c.tar.zstd
19c.tar.zstd        : 7153274368 bytes

real    1m52.263s
user    1m1.836s
sys     0m9.236s

18 May 2022

New Features in Solaris 11.4 SRU45 (May 2022)

Every month after the CPU (Critical Patch Update) Oracle releases
a new feature Release for Oracle Solaris.

In May 2022 it is again a BIG one

Kernel Zone Memory Live Reconfiguration (MLR) on SPARC
ZFS File Retention
vmstat uses sstore for history
packet filter (PF) filewall for Solaris 10 Branded Zones
Zstandard (zstd) fast compression utility
NTP Monitor only mode (new SMF ntp:monitor)
PHP: version 8.1 added and version 7.3 removed
Puppet: version 6.26 added / version 5 and Puppet Master removed

and many, many more FOSS updates

Stay tuned for more blogs about this new features

16 May 2022

How to Migrate from Solaris 10 to Solaris 11

Solaris 10 was released in 2005. Currently Solaris 10 is in extended Support
and Oracle is planing to provide patches till 01/2024.

Great News About Extended Support for Oracle Solaris 10 OS

There is no easy upgrade from Solaris 10 to 11 because Solaris 11
includes many new features not available in Solaris 10.

best option
At our customers we install new Solaris 11 systems or LDoms and install
the application, do the configuration and move the data from Solaris 10.

compromise option
If your application is not supported on Solaris 11 or you want to migrate
away from older hardware in short time. Then your option is Solaris 10 Branded
Zones. You can install Solaris 10 Branded Zones on a Solaris 11 server
based on a 1:1 archive from your Solaris 10 System.

Lift and Shift Guide - Migrating Workloads from Oracle Solaris 10 SPARC Systems to Oracle Solaris 10 Branded Zones

next step: sysdiff
If you already have a Solaris 10 Branded Zone, you can use the new sysdiff tool
to identify application binaries and files and convert this into a Solaris 11 ips package.
This ips package can then be deployed on a Solaris 11 Server.

sysdiff: moving Oracle Solaris 10 legacy 3rd party apps to 11.4

If you need support for such migrations just contact our experienced consultants at JomaSoft

02 March 2022

Solaris 11.4 SRU42 / Non-Production Personal Use Update

For developers Solaris 11.4 GA was made available in 2018.

Updates/SRUs are (only) delivered to customers with support contract.
Since Oracle changed to the continuous delivery model there was
no update for developers since 42 months.

This changed today !!

The public Solaris IPS repository contains the SRU42


More details on:

25 February 2022

Solaris 11.4 SRU42 (Feb 2022) - /var/share/cores FS and coreadm defaults

/var/share/cores is now a separate filesystem

-bash-5.1$ zfs list rpool/VARSHARE/cores
rpool/VARSHARE/cores   31K  22.1G    31K  /var/share/cores

If you upgrade from a previous SRU to SRU42 or later,
cleanup /var/share/cores first, because the files
will be migrated to the new filesystem.

coreadm has now better defaults for the core file naming

root@marcel49:~# coreadm | head -3
     global core file pattern: /var/cores/core.%z.%f.%u.%p
     global core file content: default
kernel zone core file pattern: /var/cores/kzone.%z.%t

with this new core file pattern, the cores can be easier identified
and are less often overwritten.

root@marcel49:~# ls -lh /var/cores/core.marcel49.sleep.0.21198
-rw-------   1 root     root       4.16M Feb 25 13:19 /var/cores/core.marcel49.sleep.0.21198

If the pattern was not configured before the upgrade to SRU42 or later
the new default is set automatically.

If you used another pattern before you upgraded to SRU42 or later
you can set it manually to the new standard/default.

coreadm -g /var/cores/core.%z.%f.%u.%p

23 February 2022

Solaris 11.4 SRU42 (Feb 2022) - LDom Migration Class 2

SRU42 introduced a new LDom Migration Class. This class
allows to do Cross CPU Live Migration between SPARC S7,M7 and M8
CPUs. LDoms using this migration-class2 can use the ADI features
of this new CPUs and still can Live Migrate between this modern
SPARC Servers.

To change the cpu-arch setting you need to shutdown and unbind
your LDom

# ldm stop g0061
# ldm unbind g0061
# ldm set-domain cpu-arch=migration-class2 g0061
# ldm bind g0061
# ldm start g0061

The JomaSoft VDCF Management Software recognises this new
cpu-arch with Version 8.2.2 or later.

Find out more about VDCF

21 February 2022

Solaris 11.4 SRU42 (Feb 2022) - ansible

The Oracle Solaris 11.4 SRU42  (Feb 2022) delivers ansible 2.10.
It is not installed by default. To use ansible install this 3 packages

pkg install ansible jinja2 pyyaml

Then create your own small ansible config file

-bash-5.1$ cat .ansible.cfg

and you are ready to start

-bash-5.1$ ansible --version
ansible 2.10.15.post0
  config file = /export/home/marcel/.ansible.cfg
  configured module search path = ['/export/home/marcel/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.7/vendor-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.7.10 (default, Dec 22 2021, 02:24:16) [GCC 10.3.0]

The ansible Users Guide can be found here