Grub Default Last Session

Grub has been around for years, sitting in the boot process allowing us to choose which OS to boot from. One option which I find particularly useful is the ability to remember the last selection and default to that selection. If like me you have ever needed windows in a hurry to realise its half way through installing updates, but never finished because it rebooted into Linux this may be of help.

Edit the /etc/default/grub file and add the following text:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Once you have added those lines, simply issue the command below to update your Grub settings:

sudo update-grub

Simply reboot, and from now on, it will remember your last selection and default to it accordingly. Of course, you still need to boot into windows to start the update process, but at least now you don’t have to watch over it whilst it reboots to install them. 🙂

ArubaOS-CX VSF

Aruba VSF (Virtual Switch Framework) on the Aruba CX line of switches provides the ability to manage a number of switches (upto 10 from memory) as a single virtual network node. This simple How-To gives a quick overview of an addition and removal of a switch to/from a stack. There is lots of official documentation available, and may well be other methods, but this works fine for me.

Adding a switch to an existing stack

When adding a new switch, boot the new switch up and configure it as switch 1 with the appropriate type and links.

6300-New# show run vsf
!
vsf member 1
 type jl665a
 link 1 1/1/49
 link 2 1/1/50
!

On the existing stack, provision the new switch with appropriate number type and links. In this example we are adding switch 3 to the existing stack.

6300-Stack# show run vsf
!
vsf member 1
 type jl665a
 link 1 1/1/49
 link 2 1/1/50
vsf member 2
 type jl665a
 link 1 2/1/49
 link 2 2/1/50
vsf member 3
 type jl665a
 link 1 3/1/49
 link 2 3/1/50
!

We can check to confirm the VSF member is defined correctly and isn’t currently present as shown for switch 3 below.

6300-Stack# sh vsf de
VSF Stack
MAC Address : 88:3a:30:97:dd:c0
Secondary : 2
Topology : chain
Status : No Split
Split Detection Method : None
Software Version : FL.10.04.0030


Name : Aruba-VSF-6300
Contact : "Network Team"
Location :


Member ID : 1
MAC Address : 88:3a:30:97:dd:c0
Type : JL665A
Model : 6300F 48-port 1GbE Class 4 PoE and 4-port SFP56 Switch
Status : Master
ROM Version : FL.01.05.0003
Serial Number : SG9XXXKX8B
Uptime : 16 hours, 21 minutes
CPU Utilization : 17%
Memory Utilization : 20%
VSF Link 1 : Down
VSF Link 2 : Up, connected to peer member 2, link 1


Member ID : 2
MAC Address : 88:3a:30:99:d6:40
Type : JL665A
Model : 6300F 48-port 1GbE Class 4 PoE and 4-port SFP56 Switch
Status : Standby
ROM Version : FL.01.05.0003
Serial Number : SG9XXKXX8X
Uptime : 15 hours, 52 minutes
CPU Utilization : 5%
Memory Utilization : 11%
VSF Link 1 : Up, connected to peer member 1, link 2
VSF Link 2 : Down


Member ID : 3
MAC Address :
Type : JL665A
Model : 6300F 48-port 1GbE Class 4 PoE and 4-port SFP56 Switch
Status : Not Present
ROM Version :
Serial Number :
Uptime :
CPU Utilization : 0%
Memory Utilization :
VSF Link 1 : Down
VSF Link 2 : Down


6300-Stack#

Install new switch in rack etc and connect cables etc. On the new switch issue the renumber from 1 (standalone) to 3 which is our planned stack number.

6300-New#
6300-New# conf
6300-New(config)# vsf renumber-to 3
This will save the VSF configuration and reboot the switch.
Do you want to continue (y/n)? y


2020/01/01 09:07:30 Registration with Credential Manager successful or deferred.
2020/01/01 09:07:30 Encrypt value in User table in password column ,
2020/01/01 09:07:30 Ignoring ssh_host_keygen_requested in system table to be saved in config

Switch will reboot and should join the stack assuming the cables are all patched etc.

Once the switch has rebooted, the VSF status can be checked as shown below.

6300-Stack# sh vsf de
VSF Stack
MAC Address : 88:3a:30:97:dd:c0
<<<SNIP>>>
Name : Aruba-VSF-6300
Contact : "Network Team"
Location :


Member ID : 1
MAC Address : 88:3a:30:97:dd:c0
<<<SNIP>>>
VSF Link 1 : Up, connected to peer member 3, link 2
VSF Link 2 : Up, connected to peer member 2, link 1


Member ID : 2
MAC Address : 88:3a:30:99:d6:40
<<<SNIP>>>
VSF Link 1 : Up, connected to peer member 1, link 2
VSF Link 2 : Up, connected to peer member 3, link 1


Member ID : 3
MAC Address : 88:3a:30:98:cf:00
Type : JL665A
Model : 6300F 48-port 1GbE Class 4 PoE and 4-port SFP56 Switch
Status : OS Version Mismatch
ROM Version :
Serial Number :
Uptime :
CPU Utilization : 0%
Memory Utilization :
VSF Link 1 : Up, connected to peer member 2, link 2
VSF Link 2 : Up, connected to peer member 1, link 1link 2 1/1/50

However as you can see the OS is miss-matched, the new switch will be upgraded / downgraded and be rebooted automagically.

6300-Stack# sh vsf de
VSF Stack
MAC Address : 88:3a:30:97:dd:c0
<<<SNIP>>>
Name : Aruba-VSF-6300
Contact : "Network Team"
Location :


Member ID : 1
MAC Address : 88:3a:30:97:dd:c0
<<<SNIP>>>
VSF Link 1 : Down
VSF Link 2 : Up, connected to peer member 2, link 1


Member ID : 2
MAC Address : 88:3a:30:99:d6:40
<<<SNIP>>>
VSF Link 1 : Up, connected to peer member 1, link 2
VSF Link 2 : Down


Member ID : 3
MAC Address :
Type : JL665A
Model : 6300F 48-port 1GbE Class 4 PoE and 4-port SFP56 Switch
Status : Not Present
ROM Version :
Serial Number :
Uptime :
CPU Utilization : 0%
Memory Utilization :
VSF Link 1 : Down
VSF Link 2 : Down


6300-Stack#

After new switch is booted, the VSF will show connected with details.

6300-Stack# sh vsf de
VSF Stack
MAC Address : 88:3a:30:97:dd:c0
Secondary : 2
Topology : ring
Status : No Split
Split Detection Method : None
Software Version : FL.10.04.0030


Name : Aruba-VSF-6300
Contact : "Network Team"
Location :


Member ID : 1
MAC Address : 88:3a:30:97:dd:c0
Type : JL665A
Model : 6300F 48-port 1GbE Class 4 PoE and 4-port SFP56 Switch
Status : Master
ROM Version : FL.01.05.0003
Serial Number : SG9XXXKX8B
Uptime : 16 hours, 27 minutes
CPU Utilization : 4%
Memory Utilization : 20%
VSF Link 1 : Up, connected to peer member 3, link 2
VSF Link 2 : Up, connected to peer member 2, link 1


Member ID : 2
MAC Address : 88:3a:30:99:d6:40
Type : JL665A
Model : 6300F 48-port 1GbE Class 4 PoE and 4-port SFP56 Switch
Status : Standby
ROM Version : FL.01.05.0003
Serial Number : SG9XXKXX8X
Uptime : 15 hours, 58 minutes
CPU Utilization : 6%
Memory Utilization : 11%
VSF Link 1 : Up, connected to peer member 1, link 2
VSF Link 2 : Up, connected to peer member 3, link 1


Member ID : 3
MAC Address : 88:3a:30:98:cf:00
Type : JL665A
Model : 6300F 48-port 1GbE Class 4 PoE and 4-port SFP56 Switch
Status : Member
ROM Version : FL.01.05.0003
Serial Number : SG9XKXXX8V
Uptime : under a minute
CPU Utilization : 0%
Memory Utilization : 8%
VSF Link 1 : Up, connected to peer member 2, link 2
VSF Link 2 : Up, connected to peer member 1, link 1


6300-Stack#

Other commands available show the connectivity within the stack.

6300-Stack# sh vsf topol
Mstr Stdby
+---+      +---+      +---+
| 1 | 1==2 | 3 | 1==2 | 2 |
+---+      +---+      +---+
  2                     1
  +=====================+


6300-Stack# sh vsf link

VSF Member 1

Link Peer Peer
Link State Member Link Interfaces
---- ---------- ------- ------ ---------------------------
1 up 3 2 1/1/49
2 up 2 1 1/1/50



VSF Member 2

Link Peer Peer
Link State Member Link Interfaces
---- ---------- ------- ------ ---------------------------
1 up 1 2 2/1/49
2 up 3 1 2/1/50



VSF Member 3

Link Peer Peer
Link State Member Link Interfaces
---- ---------- ------- ------ ---------------------------
1 up 2 2 3/1/49
2 up 1 1 3/1/50


6300-Stack#

Interestingly if you connect a USB console to anything other than the stack master, you can log in, but only with local account. Tacacs etc only appear to function on the stack master. I suspect this will be fixed in a later version of code as this appears to be the opposite of the expected desired behaviour.

Finally just for reference, this was all done on an 6300 running AribaOS-CX FL.10.04.0030