-
Poor mans JSON Validator using jq
Shamelessly stolen from here. Validate json using ‘jq’:
-
TrueNAS boot-pool disk replacement
One of the drives in boot-pool failed and needed replacement. Unfortunately, I mis-clicked in TrueNAS UI and accidentally detached the failed drive instead of replacing it. With a new drive in, here is what I did:
-
Building minimal Jetson L4T rootfs for Nvidia Orin AGX CTI board
I was trying to minimize Ubuntu installation footprint on Nvidia Orin board. I ran across this post from Nvidia on how to do that. Unfortunately, I had a specific Connect Tech board, which required some specific drivers from the vendor itself.
-
Limiting Kubelet log size in K3s
I had this K3s v1.26.4+k3s1 running on Nvidia box somewhere out in the sticks. Then the device started running low on disk space, largely due to crappy containers running on it. /var/log/pods was taking up space that could be used elsewhere.
-
Modifying running Kubernetes deployment
I was poking around K3s single node cluster and eventually ran into some issues with metrics-server. For some reason metrics-server was not starting properly.
-
NetworkManager IPv6 firehose
While opinion of my own, disabling IPv6 in Rocky/RedHat/CentOS Linux is a messy affair. Nevertheless, sometimes system requirements call for such thing. In this case, disabling IPv6 has resulted in continuous flood of messages to syslog. About every 12 seconds!
-
audit: kauditd hold queue overflow
Recently, I came across a few servers, running Rocky Linux 8, that had consoles flooded with the following message:
-
Workaround to get fresh vSphere 8.0 install to boot in UEFI mode
Previously, I ran into a boot problem during installation of vSphere 8.0 on Dell Optiplex 9010. This time I got to finish the installation successfully only to have the postinstall boot fail. The UEFI entry created by vSphere installer did not do anything when selected. Short story first: I had to manually re-create EFI partition filesystem after initial install of vSphere.
-
Fatal error 10: (Out of resources) during vSphere 8.0 install
During installation of vSphere 8.0 on my homelab’s Dell Optiplex 9010 I had run into this not so helpful error:
-
Using Workload Identity in GKE to connect to CloudSQL instances
Workload identity is, I guess, the way to connect from GKE to CloudSQL. I fumbled a bit with this, so here me notes.
-
Trunking VLAN's towards Docker containers in VMware
This is what it will look like: a VM running Rocky Linux with one NIC in trunking mode, having presence on three VLAN’s. VLAN 50 is the main VLAN used for management access and VLAN 701 and VLAN 60 would be used for containerized applications - in my case cantainers will use maclan driver. Additional application VLAN’s can be added later, as needed.
-
stdin, stdout, stderr redirection
Someone asked me about this the other day, so here is a rough recap of my explanation. When a UNIX program is run, stdin, stdout and stderr are created automagically. They are standard file streams and can be used for piping or redirection. stdin is “standard input”, stdout is “standard output” and stderr is “standard error”.
-
PostgreSQL 13 master and replica behind HAproxy
In continuation to PostgreSQL 13 master with write-ahead log shipping replica post, the projecty thing required HAproxy added in front of the PostgreSQL databases to allow for failover in case of patching, etc. of the master.
-
PostgreSQL 13 master with write-ahead log shipping replica
The following are notes from some projecty thing that summarize configuration of PostgreSQL 13 HA with HAproxy eventually bolted on top. There are multiple replication solutions that can be used. My scenario called for write-ahead log shipping. This was done on CentOS 7 machine with PostgreSQL 13 rpm packages.
-
Multiple iSCSI interfaces with multipathing on CentOS 7
So, what do we have here? CentOS 7 server, with two NICs used for network connections. Another two NICs for separate paths to storage with multipathd to provide failover of storage paths. Here is a simple diagram:
-
Quick way to rescan HBA from command line for disk changes
Here is a quick way to rescan HBA’s from command line for new LUN’s without needing to reboot:
-
Stupid Ansible tips
Some useful Ansible hints I had collected over time from around the web.
-
How to reboot HP iLO 5 from command line
Something from the old notes. It’s simple and straight forward, and iLO sucks in my opinion - syntax-wise. Anyways, to reboot it, you have to be able to SSH into it:
-
Apache fails to configure CA certificate chain
The other day I configured Apache with internally signed SSL certificates. The certificates were stored in /etc/httpd/certs directory. The permissions and ownership on certificate files was correct as well. Everything seemed in order, however upon httpd start Apache logged the following error message:
-
Unable to restore Infinera DNA database
The other day, restoring Infinera DNA database, the process just died. No errors, no indication as to what the problem might be. The following output in restore log was the only thing to go by:
-
Error converting RHEL server using VMware Converter
When virtualizing RedHat server you might get the following error during GRUB section of boot process:
-
How to move an LVM volume to a different host
There is nothing special going on here - one of those “note to self” posts. This is basically a recipe from LVM Howto. The only additional part is renaming of the volume group.
-
Changing user email address in Gitlab using rails console
For reasons that will remain unspoken, Active directory that Gitlab authenticates against changed its name. After gitlab.rb was adjusted to reflect the change, another issue popped up. It was simply impossible to change the email addresses of the users. Thankfully, there is a solution, which I shamelessly stole and replicated here for my own reference.
-
Selectively forwarding logs using syslog-ng based on source hostnames
This was one of those “we need to tick a checkbox now!” operations. Yes, those. Maybe someone finds it useful. syslog-ng is en excellent tool, but the “kamikaze” syntax just kills me sometimes. That’s of course subjective statement. Nevertheless, here is a way to you get a syslog server to forward logs from specific source hosts to another log destination.
-
Linux LVM Snapshots
LVM snapshots. Investigating some backup issues I decided to give them a try to see if they can help. This was done on CentOS 7. First, the important detail: the LVM snapshot lives in the same volume group as the logical volume one is making snapshot of. So, if the logical volume is in volume group X, so will be its snapshot.
-
Basic quick and dirty Kafka test cluster
Here is how to get a Kafka test cluster going. Not for production, of course. This is a 3 node cluster running embedded zookeeper. The whole thing was done on CentOS 7.
-
Adding Apache Kafka capability to Apache Pulsar
KOP - Kafka On Pulsar is an interesting project that adds Kafka capabilities to Pulsar. I did play around with KOP release prior to 0.3.0 and unfortunately it supported only Kafka protocol versions 0 to 2. This seemed to have [changed]https://web.archive.org/web/2/https://github.com/streamnative/kop/pull/176) with KOP version 0.3.0. I have not had a chance to try it out.
-
Apache Pulsar Unit files
In the previous post I mentioned that Apache Pulsar does not come with systemd unit files. So, below is a copy. If I remember right I got them somewhere on the Internet, unfortunately I do not remember where. I think I added a thing or two. If you, the reader, happen to be the original author, feel free to ping me to give credit where it’s due.
-
Basic Apache Pulsar cluster howto
Apache Pulsar is distributed messaging system. I was doing some POC and here are instructions on how to get basic Pulsar cluster going. This was done on CentOS 7.
-
Is it a sparse file?
The other day someone asked how is it possible that one file’s size is way bigger than size of the filesystem it resided on. So I figured, it’s probably a sparse file. Let’s see…
-
Sending packets out of incoming interface
It is desirable, in some circumstances on a server with multiple NIC’s to send outgoing traffic on incoming interface. In order to do so the server has to have policy routing implemented.
-
Using whole disk for LVM during kickstart
I was kickstarting a machine that needed two disks. The requirement was that the second disk was to be used as whole for LVM. It seemed there was no way to do so, but apparently there is. The snippet below makes it happen. The key part is –onpart=sdb.
-
Another take on Dynamic Volume Resize in RHEL 6
Being able to resize an LVM volume without reboot is quite handy. I had described one way here. This is a slightly different take on the same topic, this time on RHEL 6.
-
There is no screen to be resumed...
I was running a script on a server that took a while to complete. Since I did not want to lose any output I ran it inside a screen session. Of course, during the course of this, my SSH connection dropped and when I logged in again, and tried to reattached to the session I got this:
-
Hung Linux system: Now what?
Finally, I had remembered to try out Magic SysRq key in real life. One of the XenServer hosts decided to refuse to reboot and hung during shutdown. Magic SysRq is really a keyboard combo that allows user to force kernel to perform certain function, even though machine is unresponsive. In my case I needed to safely reboot the host.
-
fsck: Error determining size of the physical device: File too large
So, I got done patching this fairly important server, running RedHat 5.10. For reasons I will not go into, the server has about 30TB of direct attached storage. After the reboot, one of the filesystems, in this case it had 16TB of storage, failed to pass automatic fsck check on boot.
-
Unfinished transactions in yum
I was patching this “pseudo server” the other day. Resources on the server were not monitored. Of course / was low on space and yum failed. Subsequent run of yum update threw the following message:
-
Oracle DB failed to start: ORA-27102: out of memory
Oracle not being exactly my turf, I ran into this last week. After some patching and reboot of RHEL 5.9 server, Oracle DB failed to start. So, I took a peek inside /opt/oracle/product/11.2.0/db_1/startup.log and found this:
-
vShield Manager CLI password change
This just seems nonsensical to me. Apparently, you cannot change user passwords via CLI in vShield Manager 5.1.2, but you have to go through the rigmarole of removing and recreating accounts. Specifically, I needed to change password for admin account.
-
Copying directories with tar
This is one of those, “can’t seem to memorize something” posts… Sometimes copying files with cp is just painful. Instead:
-
Dynamically discovering disk volume in RedHat
This is one of those “note to myself” posts. Discovering a new volume on a Linux server is little cruder than it is in Solaris.
-
ext3 detected aborted journal
This was an interesting exercise in a sense that I have never had a similar filesystem issue in the past. For some unknown reason so far one of the RHEL 5.9 ESXi guests decided to remount /var as read-only. Taking a look at output from dmesg confirmed ext3 had some ordeal going on:
-
Completely disabling IPv6 in RedHat
I was looking to disable IPv6 across bunch of servers. And not in some adhoc way. This in one of those “note to myself” posts. I was dealing with RedHat 5 and 6 servers.
-
Resetting ILOM root password on Sun Blade 6000 chassis
So, I inherited Sun Blade 6000 chassis with a few blades. Of course, without password to get into ILOM or anything else. No problem, reset will take care of it.
-
Onlining and Offlining CPU's in Linux
Dynamically enabling and disabling CPU’s in Linux is not as convenient as it is in Solaris with psradm command. I was trying the following on VMware vSphere 5.0 with guest running RedHat 5.9.
-
Configuring RedHat for Oracle Enterprise Manager agent install
So, I had to get Oracle Enterprise Manager Agent going on bunch of servers running RedHat 5.8. The agent would be pushed out to the client servers using OEM. I guess I had seen a better thought out software in my time.
-
Rebooting hung XenServer VM
Thankfully XenServer is on the way out in my environment. One of the perpetual troubles is the issue with hung VM’s. The server blades are running XenServer 5.6 Service Pack 2.
-
SecureFTP rename bug?
Not so long ago I was looking into a bash script that used SFTP’s rename command to move file on a remote server from one directory to another. No matter what, the script would always fail with an error from SFTP, that went something like “Unable to rename file”.
-
Oracle syslog madness
Recently, I was asked to look into logging of Oracle 11g audit messages into syslog. One would think this would be simple enough. Everything was configured correctly. Audit messages were arriving to syslog, but a lot of messages seemed to be split into multiple syslog entries. Here is one part of Oracle audit message split by syslog:
-
XenServer failing to boot a VM
This was just an interesting incident I had. Disclaimer: the VM was not in production. The server blade was running XenServer 5.6 Service Pack 2.
-
Resetting readonly shell variable
Recently I inherited a RedHat server, which had system-wide user profile configured something like this:
-
Configuring Tomcat to log via syslog
By default Tomcat does not log to syslog. Due to various reasons I was going to configure Tomcat to log via syslogd on localhost, which would then forward logs to central loghost. This was all done on servers running RHEL 5 and Tomcat 5.5.
-
Init.d script failing to stop service on RedHat
The other day I had an irritating issue with an init script on RedHat. I had enabled the script using chkconfig command. The service would start up just fine, but when the server was bounced, the script was skipped and stop operation was not performed.
-
Dropping cached memory in Linux
This is kind of a followup to the previous post about Linux seemingly being out of memory.
-
Is Linux really out of memory?
If you have ever looked at RAM usage on a Linux server you might have noticed that the server might be running out of memory. This is misleading. Let’s take the following example:
-
Flashing firmware on SunFire T2000
Not so long ago I had to flash firmware on SunFire T2000. It’s not a complicated thing.
-
Unable to access console login prompt from ALOM
Not so long ago, I logged into System Controller of SunFire T2000 running Solaris 10 and tried to access server’s console. For some reason, usual console command did not work. It simply did not return anything.
-
ZFS and swapping
ZFS is great. Obviously. Generally when I do a server I install system on UFS and then mirror disks with SVM. I keep data and apps on ZFS. That’s nice, especially if ZFS is on a SAN. If something happens with the server I can move ZFS pools to a different server, if necessary.
-
Very basic SELinux troubleshooting
SELinux has been around for a while in RedHat. SELinux is Mandatory Access Control mechanism. Starting with RedHat 6, the installer automatically sets SELinux to enforcing mode.
-
OpenBoot: All CPUs failed or disabled
I guess every day you learn something new. This incident happened on Sun Fire V480R. The server was running for running for ages but for one reason or another it had to be rebooted.
-
How to configure Solaris 10 to drive HP MSL 6000
I have done this a long time ago so there might be something missing as this comes from sketchy notes that I still have. The point of this exercise is to get Solaris 10 to use MSL 6000 fibre channel library for backups using HP Data Protector 5.5. I have done this on Sun Fire V240 servers.
-
Viewing and changing speed and duplex in Solaris
Depending on version of Solaris and the hardware it’s running on, you will either use ndd utility or use kstat or dladm commands to change speed and duplex. Remember that for example, e1000g driver will let you manipulate settings using dladm in Solaris 10, but you will not be able to do so using ndd. This is also true among different Solaris versions. For example, dladm is present only in Solaris 10.
-
Removing file or directory via inode number
While back I was doing some work with SVM. Everything went smoothly, but after I was done I experienced some bizarre issue. I am not entirely sure how it came to be. I needed to remove a temporary mountpoint called /tmpmnt:
-
Finding out native instruction set in Solaris
This is one of those commands that I just can not seem to memorize. Among others, isainfo will tell you if you are using 32-bit or 64-bit kernel modules. Check out isainfo man page for more details…
-
Identifying a failed disk using dd
A while back I had the “fortune” of having to deal with replacement of a failed disk inside a disk array of some HP-UX machine. Never mind lack of any information regarding the hardware setup (dual controllers, multipathing, etc.)… The biggest problem was identifying the failed disk. Oh, and throw some LVM into that…
-
Unmouting stale NFS mountpoint in linux
Unmounting stale NFS mount points in Linux can be royal pain sometimes. In Solaris, umount -f does the job just fine.
-
Why it's not a good idea to remove active log file
So, someone deleted a log file of a running process because partition was running out of space. That’s seemingly logical thing to do, but not a wise one.
-
Accessing Mirrored Metadevice When Booting from CD/DVD
How do you access mirrored root disks when booting into single user mode from either network or DVD/CD? Presumably because of luck I have not been forced into this situation. When booting from DVD or network in single user mode your mirrored root disks will not be available.
-
Deleting Solaris Container
And finally for “completeness” of my Solaris Containers notes, here is a procedure to delete a container. You can not remove a container that is active. You have to halt it first. Start by finding out what containers are configured and what state they are in:
-
Logging into Engineering Mode on Clariion Array
I have been playing around with a new Clariion array and it turns out that there is this thing called “Engineering Mode” that allows some extra functionality. It is especially useful when connecting hosts manually.
-
Reading Sun Cluster eventlog
I ran into this topic while searching for something unrelated. I have wondered for a while how I could read Sun Cluster eventlog files. For whatever reason Sun Cluster writes these files in binary format, which is not really helpful. I guess those log files are meant to be seen by Sun engineers only.
-
Renaming Solaris Container
Let’s say you made a mistake and you need to rename Solaris container. Start off by moving container’s zonepath. This will change zonepath for container oldzone to /export/home/zones/newzone:
-
Jumpstart going interactive
Well, this is kinda interesting… I have put two blank disks into a Sun machine and I tried to Jumpstart the machine. Blank - meaning there was no Sun label on them. Long story short… Everything looked good until Jumpstart went interactive just after checking the rules.ok file:
-
Running X applications inside Solaris Container on a headless server
I had a few users that needed their own Solaris Container. They would use Reflection X to connect to their Containers. It worked all fine. Well, for the most part. Every few days or so Containers would stop accepting X connection. When I looked at /var/dt/Xerrors logfile inside one of the containers, I would see a lot of complaints:
-
Solaris 10 VTOC weirdness on EMC Clariion Array
I was doing some Solaris 10 8/07 testing with EMC Clariion CX4-960 array. One of the tests was to dynamically grow LUN. Until now, I have been doing this on HP EVA array. It was pretty straight forward:
-
Solaris Containers and ZFS
I had to create some containers for developers to do their work. Developers always seem to want root access to a machine. Containers work very nice in this scenario: if a developer messes up his container, I can just clone a new one off a “gold” container. ZFS can be very handy here as well: by installing a container on ZFS filesystem and assigning ZFS quota, you can limit how big the container can grow.
-
Installing and patching Data Protector client on standalone Solaris machine
I needed to install HP Data Protector 5.5 client on an old machine running Solaris 2.6. I also needed to apply some Data Protector patches to that machine. The problem was I had no Data Protector Install Server for Data Protector version 5.5.
-
Trussing processes on Sun Cluster?
One of the apps running on Sun Cluster was randomly crashing. So, I decided to take a look what was happening. Yeah, there is DTrace in Solaris 10. Since I am pretty comfortable with truss I decided to give that a shot first:
-
Jetadmin and non-HP network printers
I was trying to get Dell 3130cn Manual printer working with Jetadmin in Solaris. But, I was not able to create the print queue even though the printer was reachable, SNMP was working and so was telnet. Fortunately, there is a workaround I found somewhere on the Internet. Of course, I failed to keep the link to the workaround. Anyways, the non-HP printer that you are trying to configure has to have Jetdirect card. The workaround:
-
Failed repository integrity check
Last week I was presented with the following error on one of the Solaris 10 boxes:
-
Finding out length of a UTP cable using Cisco IOS
Well, this is just cool. Everyone has been there; sitting at a Cisco switch console wondering how long the unmarked UTP plugged into port 17 is… Thankfully Cisco IOS might be able to tell you:
-
Quick and dirty SVM cheatsheet
This list focuses mostly on mirror operations. I use Solaris Volume Manager quite a bit when mirroring internal drives. There are tons of additional features and commands, if you use SVM for things other than mirroring. In that case you might want to look at check out Solaris Volume Manager Administration Guide
-
Linux multipathing
I use MPxIO in Solaris quite often and it works very well for me. This time I needed to test out I/O multipathing in RedHat. What I really needed to do: have a server with two HBA’s manage a mirror which has submirrors on separate SAN’s; so that the server has multiple paths to each submirror. That way, if an HBA goes the server has still connection to both submirrors through the remaining HBA.
-
Moving Solaris Container to a different host
Cloning Solaris Container is pretty straight forward. But what if you want to have an identical container on another host? In a nutshell:
-
Mounting Linux NFS share: Not owner
I was trying to mount a RHEL 4 NFS share in Solaris 10. But for whatever reason I just could not seem to get it mounted. It would always come back with “Not owner” error:
-
Weird disk label after using ZFS on a LUN
If you ever used ZFS on a LUN and then tried to reuse that LUN for UFS you might have noticed a “weird” disk label on it. This is known as EFI label.
-
Corrupt superblock, now what?
This is an oldie, but a goodie. For some reason I was asked about it 3 times in a span of a week. Suppose your system was not shut down cleanly and it refuses to come up. During bootup fsck refuses to run, complaining about corrupt superblock. So, what do you do? First, get the alternate superblock locations and then run fsck using one of the alternate superblocks.
-
Cloning Solaris Container
There are two way to create a new container: create one from scratch, which takes a little while or you can clone an existing container. Cloning is quite faster than the actual creation so it is handy to have a “gold” master container which is used for cloning. Another reason for having a “gold” master container is the fact that the container from which you are making a clone has to be halted during cloning. I did this on Solaris 10 8/07 release. Cloning consists of the following:
-
How to get HP Jetadmin working inside Solaris Container
I needed to build a print server and I had to use HP Jetadmin. I also wanted to use Solaris Containers for the job. Here are few things I found out in the process. This was done on Solaris 10 08/07 and Jetadmin version E.10.34.
-
Solaris Containers
Solaris Containers allow partitioning of a physical server into virtual servers. Containers do not provide virtualization in sense of Xen or VMware they are more similar to jails. Zone is a container without resource control.
-
Network interface bonding in Linux
Bonding Ethernet interfaces in Linux is pretty straight forward. There is bunch of articles out there on it already, but since this is where I keep some of my notes, I decided to write a post on it. Plus I do not have to bother with Google and I can come straight here for instructions. This was done on Poweredge running CentOS 5.2. Here are things that need to be done to make this happen:
-
Getting handle on log files
Starting with Solaris 9 there is a very handy tool called logadm that makes management of any log files a breeze. Syslog and messages files, among others, are managed by logadm which is called from root’s crontab. Logadm reads /etc/logadm.conf file to figure out what it needs to do. By default there are following entries in logadm.conf:
-
Solaris Link Aggregation
Link aggregation takes a bunch of network interfaces and creates a big pipe out of them.
-
Growing mirrored LUN in RedHat
I was putting a RedHat server onto a SAN and I could not find any clear instructions on how to grow a single mirrored LUN on the fly. Anyway, here are some notes on the process. First the setup: Two LUN’s mirrored across two SAN’s with LVM volume on the top of it. I could have easily just presented another set of mirrored LUN’s, add them to VG and go from there. I wanted to avoid that, as that kind of setup can quickly get out of hand as the number of presented LUN’s grows. If there is a more “sensible” and flexible setup, I would most definitely want to know about it.
-
Basic IPMP
Finally, I got tired of remembering which network interfaces is configured on my Netra test box. So I do not have to remember which interface to plug cable into I configured IPMP on the box. IPMP provides link redundancy among multiple network interfaces in multipathing group. IPMP is not meant to be full fledged load balancing solution, though it will spread outgoing traffic across the interfaces.
-
Quick and dirty ZFS cheatsheet
Create simple striped pool:
-
Growing Solaris Volume Manager mirrors online
You have a SVM mirror and you need to grow it. Online. All steps are straight forward except for the last one. So, in a nutshell:
-
Getting started with SOL on Sun Fire V20z and V40z
SP on Sun Fire V40z can be configured so that you can access system console over the network as you would on a UltraSPARC machine with Net Management port. Here is a quick way to get started using V40z and RedHat. Before starting, connect up SP network interface to the network.
-
Disabling MPxIO for onboard disks
I was configuring MPxIO on Sun Fire V490. After issuing stmsboot -e command and rebooting the server, internal disks were under MPxIO’s control.
-
Gathering fibre channel info using fcinfo
I came across fcinfo command reading some other man page. So, I decided to see what kind of useful fibre channel information it could give me. It turns out fcinfo knows quite a bit.
-
Forcing network speed and duplex in Open Boot prompt
I had a Sun box attached to a switch I had not control over and I needed to jumpstart it. Unfortunately, I was getting nowhere. After crosschecking everything in my setup the only thing I did not try was to force speed and duplex on the Sun box to see if it would start booting.
-
Managing core files
If you have grown tired of having core files laying around all over the place you can manage them using coreadm command. You can set up system to save core files to a specific location.
-
Mirroring root disk using SVM
There are about 487359 documents on the Internet about how to mirror root disk in Solaris. So, here is 487360th.
-
Moving boot disk to a different target or controller
I had a need for a system that can boot two different versions of Solaris from two different disks. Both disks were on target 0 when Solaris was installed on them. But when I moved one of the disks to be target 1, obviously there was going to be a problem with booting from that disk.
-
Determining ethernet MAC address from Open Boot prompt
Today I had a need to jumpstart SunFire V240 using network interface in one of its PCI slots. In order to do that I need to find the MAC address of that interface, preferably with least amount of hassle. There was no Solaris installed and all I had was ok prompt. So I took a quick look at device aliases:
-
Sun Cluster's scconf
Using scconf you can view some useful information about Sun Cluster configuration such as information about cluster transport, disksets, etc. Using multiple v’s you can increase output verbosity. It’s pretty useful especially if you inherited the cluster. I added this command to my Useful Sun Cluster commands, as well.
-
Booting alternate device using reboot command
The other day after mirroring root disk I needed to test new devalias I made for backup root disk to see if the system would boot from it. Since my servers are headless and I was not “inclined” to console into it I wondered if it was somehow possible to reboot the system and have it boot from alternate boot device.
-
Using CVS with SMF
Most services in Solaris 10 are controlled by SMF. SMF uses xml files to define services it manages. I had a need to quickly create a service manifest for CVS. The inetconv command takes an input file with inetd.conf format and converts it into basic SMF manifest and imports it into the SMF repository. In the case of CVS I created cvs_inetd file with following content:
-
Increasing number of NFS servers on Sun Cluster
By default Solaris 10 starts 16 NFS servers to handle NFS requests. You can tune this by editing /etc/default/nfs file.
-
Moving LUN's between hosts using metarecover
Sometimes you might need to move a LUN between hosts X and Y on a SAN. Solaris has cool command, metarecover, that lets you do just that. First, you will need to stop all processes on X that might be using the given LUN. Then unmount the LUN and present it to the host Y. Now you can use metarecover to recover metadevice information from the LUN. Couple of things to remember:
-
Useful Sun Cluster commands
Some useful Sun Cluster commands
-
Replacing disk controlled by SVM
The following scenario assumes two mirrored disks, with two state database replicas located on slice 7 of both disks. High level steps for this are as follows:
-
NFS4 Invalid inbound domain name
It seems that starting with Solaris 06/07 nfs4_domain is required in sysidcfg file, otherwise jumpstart will go interactive. You can force a value, for example nfs4_domain=example.net or you can set it to be dynamic. In that case the value will be derived from the name service in use. Solaris 10 has nfsmapid daemon that maps numeric UID/GID to a string in format user@example.net.
-
Unmounting seemingly busy filesystem
Sometimes when you try to unmount a file system, Solaris refuses to do so.
-
Solaris release update version
Sometimes I just do not bother to label images I burn onto CD’s/DVD’s. The other day I grabbed a DVD that contained a copy of Solaris 10, but I needed to know what release update it was. To find out mount the disc and look at release file in SUNWsolnm package:
-
Viewing devaliases inside Solaris
Usually, when you need to view or manipulate content of EEPROM you can use eeprom command in Solaris. However, it’s not of much use if you need to view current device aliases. There is a simple way to do so using prtconf command. Just look for section aliases:
-
SC/RSC console setup
Many Sun servers have this nifty little “feature” called Net Management port. When connected to the network and configured it allows SC access over the network. It’s just like being hooked up directly to the ALOM port. Depending on the server model you can telnet or ssh to the server to gain access. Given this is console access to the server ssh is the preferred method if it’s supported. SC output below is from SunFire V245.
-
Mounting an ISO image in Solaris
The other day I needed to mount an ISO image in Solaris. It turns out there is a simple way to do that using lofiadm command. Using lofiadm you can link a file with a block device that can be mounted later as a regular filesystem. First the file has to be linked to a block device: