Especially server accessible only by SSH…
I can’t be bothered to walk down to the basement, so practically my server is also only accessible by SSH
Especially after age 40 and a knee surgery… I’m tired boss! 😩
I’m 150+km away from my server, with literally everything on it lol
I’m at college right now, which is a 3 hour drive away from my home, where a server of mine is. I just have to ask my parents to turn it back on when the power goes out or it gets borked. I access it solely through RustDesk and Cloudflare Tunnels SSH (it’s actually pretty cool, they have a web interface for it).
I have no car, so there’s really no way to access it in case something catastrophic happens. I have to rely on hopes, prayers, and the power of a probably outdated Pop!_OS install. Totally doesn’t stress me out I’ll just say I like to live on the edge :^)
Setup a pikvm as ipmi and you’ll have at least another layer of failure required to completely lose connectivity
Currently the server(s) are in my room, which is so messy my dad probably wouldn’t even enter it voluntarily. And in the case grub/fstab/crypttab/etc. are messed up, which is probably the most common error, he probably couldn’t solve it by himself. Soon everything’s gonna live in its own little room in the basement, so it’s gonna be accessible easier actually.
Initializing VPC…
Configuring VPC…
Constructing VPC…
Planning VPC…
VPC Configuration…
Step (31/12)…
Spooling up VPC…
VPC Configuration Finished…
Beginning Declaration of VPC…
Declaring Configuration of VPC…
Submitting Paperwork for VPC Registration with IANA…
Redefining Port 22 for official use as our private VPC…
Recompiling OpenSSH to use Port 125…
Resetting all open SSH connections…
Your VPC declaration has been configured!
Initializing Declared VPC…
Never update, never reboot. Clearly the safest method. Tried and true.
Never touch a running system
Until you have a inviting hole in your systemNevertheless, I’m panicking every time I update my sever infrastructure…
Found the debian user!
Just had to restart our main MySQL instance today. Had to do it at 6am since that’s the lowest traffic point, and boy howdy this resonates.
2 solid minutes of the stack throwing 500 errors until the db was back up.
If you have the bandwidth… it is absolutely worth it to invest in a maintenance mode for your system, just check some flat file on disk for a flag before loading up a router or anything and then, if it’s engaged, just send back a static html file with ye olde “under construction” picture.
Bonus points if your static site sends a 503 with a retry after header.
That’s not really… possible at this point. We have thousands of customers (some very large ones, like A——n and G—-e and Wal___t) with tens or hundreds of millions of users, and even at lowest traffic periods do 60k+ queries per second.
This is the same MySQL instance I wrote about a while ago that hit the 16TiB table size limit (due to ext4 file system limitations) and caused a massive outage; worst I’ve been involved in during my 26 year career.
Every day I am shocked at our scale, considering my company is only like 90 engineers.
Is that the same database my user couldn’t connect to today?
When you make a potentially system breaking change and forgot to make a snapshot of the VM beforehand…
There’s always backups… Right?
… Right?
oh there is. from 3 years ago, and some
Someone set up a script to automatically create daily backups to tape. Unfortunately, it’s still the first tape that was put in there 3.5 years ago, every backup since that one filled up failed. It might as well have failed silently because everyone who received the email with the error message filtered them to a folder they generally ignored.
And no one ever tried to restore it.
Happened to me as well, after a year I learned incremental DB backups were wrongly offset by GMT diff, so we were losing hours every time. Fun.
Luckily we never needed them.
And now we have Postgres with WAL archiving and I sleep so much better.
this week i sudo shutdown now our main service right at the end of the workday because i tought it was a local terminal.
not a bright move.
There’s a package called
molly-guard
which will check to see if you are connected via ssh when you try to shut it down. If you are, it will ask you for the hostname of the system to make sure you’re shutting down the right one.Very usefull program to just throw onto servers.
nice. got it installed to test it out
We got the Trojan in, let’s move move move!
Oops.
Since you’re using sudo, I suggest setting different passwords on production, remote, and personal systems. That way, you’ll get a password error before a tired/distracted command executes in the wrong terminal.
i have different passwords but i type them so naturally it didnt even register.
“wrong password.”
“oh, i’m on the server, here’s the right password:”
“no wait”
Happens to everyone
Just having a multitude of terminals open with a mix of test environment and (just for comparison) an open connection to the production servers…
We were at a fair/exhibition once and on the first day people working on an actual customer project asked us, if they could compare with our code.
Obviously they flashed the wrong PLC and we were stuck dead at the first hours of the exhibition.
I still think that this place was cursed, as we also had to do multiple re-soldering of some connections of our robot and the sherry on top was the system flash dying - where I had fucked up, because I just finished everything late at night and didn’t made a complete backup of everything.
But it seems, if luck runs out, you lose on all fronts.At least I was able to restore everything in 20mins. Which must be some kind of record.
But I was shaking so much from the stress, that I couldn’t efficiently type anymore and was lucky to have a colleague to just calmly enter what I told him to and with that we’re able to get the show case up and running again.Well, at least the beer afterwards tasted like the liquid of the gods
I was making after hours config changes on a pair of mostly-but-not-entirely redundant Cisco L3 switches which basically controlled the entire network at that location. While updating the running configs I mixed up which ssh session was which switch and accidentally gave both switches the same IP address, and before I noticed the error I copied the running config to the startup config.
Due to other limitations and the fact that these changes were to fix DNS issues (and therefore I couldn’t rely on DNS to save me) I ended up keeping sshing in by IP until I got the right switch and trying to make the change before my session died due to dropped packets from the mucked up network situation I had created. That easily added a couple of hours of cleanup to the maintainence I was doing
Best thing I did was change my shell prompt so I can easily tell when it isn’t my machine
you mean the user@machine:$ thing? how do you have yours?
Change the color too
Correct!
I put a little Home icon on mine using NerdFonts.
If you are using ZSH or Fish you can do much more
I have more than once typed shutdown instead of reboot when working on a remote machine… always fun
Make an alias for when you type shutdown it does restart and if you want to shutdown make an alias that goes like
Yesireallywanttoshutdown
Networking, we had a remote office in Europe (I’m in the US) and wanted to reset a phone. Phone was on port 10 of the Cisco switch, port 1 went to the firewall (not my design, already in place).
Helping my coworker, I tell her to shut port 10.
Shut port 1, enter.
Ok… office is offline and on another continent…
i have the horrible habit of using shutdown now because of my personal computers. a lot more fun.
Not sure if this will help you, but I always do shutdown and then think about whether I want to do -r or -h. I’m sure it won’t help 🙂
Ipmi is your friend.
Tbh there is nothing more taxing on my mental health than doing maintenance on our production servers.
when it was the wrong server and you’re hoping it comes back up before 5 minutes and nagios starts sending alerts
I install molly-guard on important machines for this reason. So fast to do a reboot on the wrong ssh session
If a tree falls in the woods…
I work with IBM i/AS400 servers and those are not exactly the quickest thing to “reboot” (technically an IPL). Especially the old ones. I have access to the HMC/console but even this sometimes takes several minutes (if not dozens) just to show what’s going on.
It’s always a bit stressful to see the codes passing one after the other and then it stops on one and seems to get stuck there for a while before continuing the IPL process. Maybe it’s applying PTFs (updates) or something, and you just have to wait while even the console is blank.
I’ve been monitoring those servers for years and I’m still sometimes wondering if it hanged during the IPL or if it’s just doing its thing, because this part, even with codes, is not very verbose.
Fortunately it’s also very stable so it pretty much always comes back a few minutes after you start wondering why the hell it’s taking so long.
… and you’re updating it remotely
… and you just changed a very important configuration file you intended to double check next
and it that moment we all squint our eyes and become homer simpson
Y’all need high availability in your lives.
And then you wonder if you typed reboot or poweroff
(Or 6/0 for the debian people)
That’s why you connect an arduino to the motherboards reset pin and load it with a program where it resets the system if it doesn’t receive an ACK signal over the usb connection every 10 minutes.
Eventually though the networking and apache stops working after around 150 days so you also have to make a script that resets the system after 30 minutes of not having network.
Plot twist, reboot takes 11 minutes and you didn’t test for it
ERROR Insert Coin