Everyone is weird to someone

A lot of people have great, enriching experiences through scouts. I love that. A lot of life skills are available to be learned.

It’s not allways like that. Every great organization has flawed areas. I left scouts because my troupe fostered bullying of weirdos. I was and am a weirdo. Mostly, indifference, and lack of mentorship was the result.

What was supposed to be a pinnacle experience (Philmont was beautiful!) was met with disapproval, and bullying, and leadership punishing me for being upset, but not the bully.

Oh, I absolutely wanted to fit in. I’ve always been weird. Most people don’t care, and some support and encouraged me.

Yet, being odd attracts a lot of negative attention, whether it’s doing things wrong and causing hassle for people, or often just the dislike of “different”.

Not many people stand up to the negative groupthink. Even as an adult, it burns through social credit, mine and others’, just to exist.

Most people don’t want to be the one that others have to defend, or who is constantly in conflict, or the one who always has to step in. People want simplicity.

Everyone is compelled to be a way, and it’s so much nicer when our default self fits. When you don’t fit, it’s an itch, a distraction, a weight.

If you are upset, reassess your part in that. Obviously, if you are harmed, get safe, and feel the feels. But if you simply don’t like how someone is, don’t attack them. Don’t lie about them. Don’t punish them for not being what you expext.

When you see someone doing that, don’t be shellshocked. Forget being intimidated. Join the underdog, and tell the bully to back off.

No escalation, or retaliation. No defending return attacks. If there’s an authority structure, make sure they know, and that no retaliation happens.

And then, everyone moves on. Conflict happens, and as long as it’s not recurrent abuse of power, let it go.

But if it is a recurrent abuse enabled by strength, position, wealth, etc, then be willing to join in with your voice to balance the scales and stop the opportunities from being available.

We get into problems of trust systems here though. Politics is the interaction of two or more people, especially as it applies to trusted information, interpretation, and emotional interactions.

Power is never fully balanced. There is never just one side. Not everyone can escape or flourish.

Just, don’t be the one who harms others, no matter how justified your reasons.

Anti-Wealth vs Anti-Corruption

These space races bring technology and cost reductions to everything we do in the world. Consider we were struggling to maintain GPS (as in, we had outages in some places in the US and around the earth), but now it costs 10% to launch GPS satellites, and SpaceX has had 5 launches.
People complain about internet access all the time, but now you can pop up high speed internet anywhere on earth, meaning you can move out to the country and still be connected. Monthly is about $100.
Branson and Bezos space launches are $250k per person. The extra seats were auctioned off, and raised $28m which was distributed to charities. It didn’t cost $28m for a launch, though there has definitely been a lot of research money spent. Research money spent doesn’t trickle down to the poor, but it does pay salaries, and pays for manufacturing, mining, etc. This literally pulled extra money out of a lot of wealthy people and gave it to charities.
A recent complaint meme was a zinger that “these billionaires should be competing to solve global warming, not go to space.” We all know how to fix global warming. It’s about being more efficient in everything we do, which is what these technologists are motivating people to do. But, a billion dollars, or even 100 billion does not “fix it”. A billion dollars would provide solar power for 25k homes. Barely a scratch. But a billion dollars can drive the creation of a lot of technology, and motivate a lot more change and improvement than you can buy off the shelf.
What’s happening is that they are transforming technology and the way society works. That is more valuable than buying something now, today. You might think buying food for people would help, but it would be better to work on sustainable technologies and things which help make food production possible. If you buy up all of the food now and give it to people, you just shift money to other pockets, and make food so costly that others can’t access it. You shift the problem, not solve it.
As to their money, these guys don’t have $200b. They own companies that other people want to own. If you have 1 million shares, the first share sold at the highest ask price, and multiply that out, that’s how people come to their prices. But, if you started selling them (to whom?), the price goes down, because not everyone wants it that badly. And eventually, as you start giving up real money, you find that the pressure is 30+ times the actual value of the company. For a small company, you could buy the whole thing, but for some of the largest companies, the valuation is so artificially inflated that the supply of money becomes a problem.
They do have multiple billions in assets, but they don’t earn billions. The memes saying “They made $16m today. Pay your taxes!) They didn’t make that money. That money doesn’t exist. It’s an artificial valuation based on the whims of people deciding whether they like a company or not. You want to tax someone highly on something they own being increased in valuation, then you have to refund them when the real value is less. This is why you tax people when they sell assets. Otherwise, your house went up in value. Why didn’t you pay 28% on that increase?
What’s happening here is that people see “He has money. I want money. Gimme.” It’s a propaganda war against people owning things and being a threat to other people who own things. Aim your frustrations at the real problems. It’s not someone owning property that other people want to buy.
Fight their anti-union stances if you want. Fight for higher wages and better benefits. Fight for higher minimum benefits, and protections against price gouging in pharmaceutical research. Fight for no more superPACs and no more lobbyist bribes and fight for ranked choice voting. Real things, not “big money is big bad.” It doesn’t mean anything coherent to say that.
Fight for changes in the way the economy works if you want. If you want no private ownership, be honest about that as well, but consider what happens when you have a horrible boss and no other job prospects. That’s what you’d be setting up.
It doesn’t make sense to say “ah, stop improving aerospace technologies. Liquidate their assets and spend it all right now.” Because then you don’t have the company doing the improvements, and you don’t have the money or assets for the next time you want to spend someone else’s money. But you would have all of the power of ownership consolidated into a much smaller group, which would have even less incentive to consider anyone else’s needs.

Travel dream

I was given an assignment, and had just traveled. I was in an auditorium at the travel center near the air terminals. Talking to people while waiting to be clearerd in, and I looked at my watch. I suddenly realized my mother was alive in this year. I showed my excitement, and gathered my things. I had just enought time to visit.

I made my way to the sky train that would lead me to the exit, but I was denied entrance. My wallet had a small bit of wear inside one flap, and these two said it was a fire hazard. I could not tell if they were toying with me to be rude, or because their friend worked at the wallet shop. They warned me to not try to sneak my wallet past them in my luggage. There would be penalties.

Angrily, I made my way out of line, and let GPS figure out where I was. Only two shops available. One closed 15 minutes ago. The other was open. It was a strange but well appointed place, yet they had no slippers. I had to walk around in my socks. They had only one wallet. I could poke my finger through it, and it had no RFID shielding. It was expensive, and would never pass scrutiny. They did have a large portfolio, but I had no way to carry that.

By the time I was done, I had no wallet, and no way out until those two changed shift unless I was willing to throw away my wallet in front of them. I was missing my chance. I marched up to them and sternly told them they were a disgrace, and dishonored their families.

And then I woke up.


June is Pride Month. Pride is about awareness and community where people can find some manner of safety from harm for being different from the majority expectation.

Roughly 10% of people in western society are not strictly heterosexual, with variation from 5% to 17% depending on region and other demographics. This is for people willing to privately identify as non-heterosexual.

There are numbers of mostly-straight people who don’t self-identify as less than fully straight. There are people who engage in same-sex relationships who do not identify as LGBTQ+. There are people who are asexual, non-binary, intersex, or other variations of gender and sexual characteristics, identity, etc. who may not identify as non-hetero.

This is not new either. As far back as the 1940s, we find surveys that show a little over 11% identified as K3 (equal attraction to “both” sexes). Plenty has changed in terminology and understanding since then.

While you may think “the gays” are a weird, fringe group, that’s really not the case. It’s more that many people are private about their identity, orientation, and activities. Private does not mean ashamed. It means none of your business.

It becomes everyone’s business when bigotry and propaganda is used to oppress the free expression of constitutional rights, or is used to actively harm others. Then the greater community, including allies, has to stand up.

Plenty of people disagree, including some people in positions of authority or power.

If you value the rights and freedoms of this country, then even if you disagree wholeheartedly with LGBTQIAA+ lives, you still owe it to yourself to help stand up for the rights of Americans, lest you find there is no one left to stand with you when your rights are under attack.

Pride Month is about being proud to be yourself, and supporting everyone else’s right to be themselves, no matter if it’s low-key or freaky. It’s the whole month until everyone can be proud year round without risk of being killed, fired, ostracized, or otherwise mistreated simply for not meeting expectations of others.

Happy pride month to all!

Modern Crusade Dream

We were at a Western hotel in Mumbai. The staff were white, and everything catered to the wealthy. Business was off, so we got to visit sometimes for lunch. Something happenned to the staff, and the east side dining hall got no service for hours after seating patrons.

The manager comped four tables, including ours, and gave us a his card. It said we could come in after 11:30pm and before 2:30 am to get leftovers and seconds (errored orders) buffet style for free. But, really, we could come in by 9:30pm, and until 5:30am. Lots of leftovers due to slow business.

This helped because we were always busy in the slums, and never knew when we’d get back. We were a mercenary tactical / investigation team, with not as much budget as we’d like, but enough to get what we needed. A bit of extra time in the fancy hotel was welcome.

We were at odds with the CIA, so we were on alert when we found the two familiar agents standing in our equipment room. They were fatigued, and just said, “load up.”

A Christian extremist group was hunting internationally, kidnapping members of our team, and forcing them to call in warnings. “Do not touch us! Do not touch us!”

We would find the team member, and we would have 10 minutes to query them, look through pockets, etc. Then they would get confused, seize, foam at the mouth, and die. If we touched them, it was contagious, and would get the next person. There would always be awriting, in Arabic, that said “do not touch us”.

This time, they needed our help. The extremists seemed nearly impossible to identify, but always left a subtle clue. We needed more than just that they hated Arabs, they considered themselves Christians, and that they were very well funded.

Safe spaces for identity

The Internet has given people the ability to find safe spaces. I don’t mean impotent bigots who group and commit violence. I mean people who would typically be abused or killed for being “different.” Many distinctions are not “new”; they have just not been as repressed in the last 30 years.

A prime example is terminology around gender and sex. Binary simplicity is not natural. It is just all some of us learned as kids. No one likes feeling like an idiot, so here are some terms to help go through the mental adjustment privately without having to defend what was socially accepted when we grew up, nor a need to attack the “new” concepts.

Sex – This is body parts. This is not binary. About 1.6% of people are born with some kind of combination. Some is visible, but some is not. Genes, environment, and random chance all have complex effects. Some people even change parts naturally when they go through puberty! This is not unique to humans.

Gender Identity – This is in the mind. Maybe machismo, or maybe delicate behavior. Maybe things match the body, and maybe they don’t. Just like you have a preferred name, and sometimes people call you the wrong name, people have an internal identity that may or may not match external expectation or physical traits.

Gender Role – This is the part you play in society. It may or may not match the above two. This can be complex. Even as simple as liking the outdoors, or not, can be seen as somewhat gender aligned. “The Man” or “The Woman” of the house are common, simplified terms.

Orientation – Who and how you like people. The social expectation is a pile of traits for one gender, and a different pile of traits for the other, with both only being attracted to the polar opposite. In reality, it’s much more complicated, and both personal and social barriers affect the expression of this. Some people have only emotional intimacy, but no romantic or sexual intimacy. Some people are attracted to people more or less like themselves. Etc etc. Any combination is possible. This can absolutely encompass any kind of relationship, but typically is used to address people for whom you have extra appreciation or affection beyond casual acquaintance. This can be as simple or complex as required.

Someone’s identity should never be a threat to you. If you are confused or threatened, consider why, and sort out how to be a nice person about it. Asking questions can be okay if you are genuinely concerned for your own comprehension, but not if you are spiteful or dismissive, or trying to trap or demean someone for not meeting your expectations. A religion is NOT a valid excuse to treat people with hostility nor deprive them of rights for being different.

This is by no means comprehensive. This is more than enough to get some gears turning.

As Star Trek says, there is “infinite diversity in infinite combinations”.

NetApp vs IBM terminology

NetApp is really vague about terminology translation, but a traditional RAID is called a volume group, and a distributed RAID is called a disk pool.

IBM calls both “managed disks”, and just referrs to them as RAID/TRAID vs DRAID.

The group of these is called an aggregate in OnTap, or a managed disk group in Spectrum Virtualize.

The next layer is a volume in NetApp, or a child pool (optional) in IBM.

NetApp then lets you share a volume via NFS or CIFS, or create a LUN which is really just a well aligned file in a volume. IBM calls them virtual disks, but does not offer NFS/internally.

IBM offers SONAS (Scale Out NAS) which can take LUNs from SVC and share them out. SONAS was called V7000 Unified at one point, but now the storage is unbundled. It uses General Parallel File System (GPFS aka Multi Media File System), Cluster System Manager, and a few other tried and true technologies under the covers giving a lot of options for expansion, but also a cost.

mdadm fewer number of larger devices

I could not find where people were confident in the possibility of reshaping an MDAdm array to a fewer number of larger devices.  Plenty of recent people said you cannot do this.  I made this happen, and the biggest concern is making sure you provide enough space on the new devices.  There are some safety warnings that help with this.  I did have to resize my new partitions a couple of times during the process.

I did this because my rootvg needed to move to NVMe, and I only had room for 4 devices, vs the 5 on SATA.  The OS I used was Debian 10 Buster, but this should work on any vaguely contemporary GNU/Linux distribution.

There are always risks with reshaping arrays and LVM, so I recommend you back up your data.
There are always risks with reshaping arrays and LVM, so I recommend you back up your data.
There are always risks with reshaping arrays and LVM, so I recommend you back up your data.
There are always risks with reshaping arrays and LVM, so I recommend you back up your data.

First, build the new NVME partitions
I have p1 for /boot (not UEFI yet, and I’m on LILO still, so unused right now).
I have p2 for rootvg, and p3 for ssddatavg

parted /dev/nvme0n1
mklabel gpt
mkpart boot ext4 4096s 300MB
set 1 raid on
set 1 boot on
mkpart root 300MB 80GB
set 2 raid on
### Resizing last
rm 3
resizepart 2 80G
mkpart datassd 80G 100%
set 3 raid on

Repeat for the other devices so they match.
My devices looked like this after:

Model: INTEL SSDPEKNW020T8 (nvme)
Disk /dev/nvme3n1: 2048GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags
1 2097kB 300MB 298MB boot boot, esp
2 300MB 80.0GB 79.7GB root raid
3 80.0GB 2048GB 1968GB datassd raid

Clear superblocks if needed
If you are retrying after 37 attempts, these commands may come in handy:

### wipe superblock
for i in /dev/nvme?n1p1 ; do mdadm –zero-superblock $i ; done

### Wipe FS
for i in /dev/nvme?n1p1 ; do dd bs=256k count=4k if=/dev/zero of=$i ; done

Rebuild /boot – high level
This is incomplete, because I have not changed my host to UEFI mode.  The reference is good, but incomplete.

### Make new array and filesystem
mdadm –create –verbose /dev/md3 –level=1 –raid-devices=4 /dev/nvme*p1
mkfs.ext4 /dev/md3
mount /dev/md3 /mnt
rsync -avSP /boot/ /mnt/

### Install GRUB2
mkdir /boot/grub

apt update
apt-get install grub2
### From dpkg-reconfigure: kopt=nvme_core.default_ps_max_latency_us=0

### Make the basic config
[root@ns1: /root]

/bin/bash# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file …
Found linux image: /boot/vmlinuz-4.19.0-10-amd64
Found initrd image: /boot/initrd.img-4.19.0-10-amd64
Found linux image: /boot/vmlinuz-4.19.0-5-amd64
Found initrd image: /boot/initrd.img-4.19.0-5-amd64

### Install the bootloader
[root@ns1: /root]

/bin/bash# grub-install /dev/md3
Installing for i386-pc platform.
grub-install: warning: File system `ext2′ doesn’t support embedding.
grub-install: error: embedding is not possible, but this is required for cross-disk install.

[root@ns1: /root]
/bin/bash# grub-install /dev/nvme0n1
Installing for i386-pc platform.
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won’t be possible.
grub-install: error: embedding is not possible, but this is required for RAID and LVM install.

Need to convert to uefi before installing the bootloader will work.  I also rsync’d my old /boot into the new one, etc.  That is moot until this is corrected.

Swap out my SATA members with SSD

Original members are 37GB, and new are 77GB.  It was time to go bigger, and I found that I kept coming up a few gigs short trying to match size (5×37 vs 4×57).

The goal is to fail a drive, remove a drive, then add a larger SSD replacement. After the last drive is removed, we reshape the array while it is degraded, because we don’t have a 5th device to add.

### Replace the first device
mdadm -f /dev/md1 /dev/sda2

mdadm -r /dev/md1 /dev/sda2
mdadm –add /dev/md1 /dev/nvme0n1p2

### wait until it’s done rebuilding
#mdadm –wait /dev/md1
while grep re /proc/mdstat ; do sleep 20 ; date ; done
mdadm -f /dev/md1 /dev/sdb2
mdadm -r /dev/md1 /dev/sdb2
mdadm –add /dev/md1 /dev/nvme1n1p2

### wait until it’s done rebuilding
#mdadm –wait /dev/md1
sleep 1 ; while grep re /proc/mdstat ; do sleep 20 ; date ; done
mdadm -f /dev/md1 /dev/sdc2
mdadm -r /dev/md1 /dev/sdc2
mdadm –add /dev/md1 /dev/nvme2n1p2

### wait until it’s done rebuilding
#sleep 1 ; while grep re /proc/mdstat ; do sleep 20 ; date ; done
mdadm –wait /dev/md1
mdadm -f /dev/md1 /dev/sdd2
mdadm -r /dev/md1 /dev/sdd2
mdadm –add /dev/md1 /dev/nvme3n1p2

### Remove last smaller device
#sleep 1 ; while grep re /proc/mdstat ; do sleep 20 ; date ; done
mdadm –wait /dev/md1
mdadm -f /dev/md1 /dev/sde2
mdadm -r /dev/md1 /dev/sde2

Reshape the array

Check to make sure your required array resize is larger than the LVM space used in your PV.  

[root@ns1: /root]
/bin/bash# mdadm –grow /dev/md1 –raid-devices=4 –backup-file=/storage/backup
mdadm: this change will reduce the size of the array.
use –grow –array-size first to truncate array.
e.g. mdadm –grow /dev/md1 –array-size 155663872

[root@ns1: /root]
/bin/bash# pvs /dev/md1
PV VG Fmt Attr PSize PFree
/dev/md1 rootvg lvm2 a– 102.50g 8.75g

If you come up short, you can shrink a PV a little, but often, there are used blocks scattered around.  There is no defrag for LVM, so you would have to manually migrate extents.  I was too lazy to do that, and instead, grew my PV from 103GB to 155GB.  I kind of need the space anyway.

# pvresize –setphysicalvolumesize 102G /dev/md1

Final reshape here

Now that I know the size MDADM wants to use, I use that exactly (or smaller, but larger than the PV size currently set.)

mdadm –grow /dev/md1 –array-size 155663872
mdadm –grow /dev/md1 –raid-devices=4 –backup-file=/storage/backup1
sleep 1 ; while grep re /proc/mdstat ; do sleep 20 ; date ; done

One of the drives was stuck as a spare.

This is not guaranteed to happen, but it does happen sometimes.  Just an annoyance, and one of the many reasons using RAID6 is much better than RAID6.  Also, errors can be properly identified better than with RAID5, and various other things.  Just use RAID6 for 4 drives and up.  I promise, it’s worth it.  3 drives can be RAID5, or RAID10 on Linux, but it’s not ideal.  Also, if you have a random-write-intensive workload, then you can use RAID10 to save some IOPS at the expense of more drives used to protect larger arrays, and inferior protection.  (eg, it is possible to lose 2 drives on a 6 drive RAID10 and still lose data, if they are both copies of the same data.)

[root@ns1: /root]
/bin/bash# mdadm /dev/md1 –remove faulty

[root@ns1: /root]
/bin/bash# mdadm –detail /dev/md1
State : active, degraded

Number Major Minor RaidDevice State
0 259 15 0 active sync /dev/nvme2n1p2
1 259 17 1 active sync /dev/nvme3n1p2
2 259 11 2 active sync /dev/nvme0n1p2
– 0 0 3 removed

4 259 13 – spare /dev/nvme1n1p2

Remove and re-add the spare

The fix was easy.  I just removed and re-added the drive that was stuck as a spare.

[root@ns1: /root]
/bin/bash# mdadm /dev/md1 –remove /dev/nvme1n1p2
mdadm: hot removed /dev/nvme1n1p2 from /dev/md1

[root@ns1: /root]
/bin/bash# mdadm /dev/md1 –add /dev/nvme1n1p2
mdadm: hot added /dev/nvme1n1p2

Check status on rebuilding
[root@ns1: /root]
/bin/bash# mdadm –detail /dev/md1
State : active, degraded, recovering

Number Major Minor RaidDevice State
0 259 15 0 active sync /dev/nvme2n1p2
1 259 17 1 active sync /dev/nvme3n1p2
2 259 11 2 active sync /dev/nvme0n1p2
4 259 13 3 spare rebuilding /dev/nvme1n1p2

Alternatively, this might have been frozen
cat /sys/block/md1/md/sync_action
echo idle > /sys/block/md1/md/sync_action
echo recover > /sys/block/md1/md/sync_action

Grow to any extra space

Once it is done recovering and/or resyncing, then you can grow into any additional space.  Since we used the value above to set the size “smaller”, we do not have to do this.  Note, when resizing “UP”, it is technically possible to overrun the bitmap.  This example drops the bitmap during the resize.  That is a risk you’ll have to weigh.  A power outage during restructure without a bitmap could be a bad day.

mdadm –grow /dev/md1 –bitmap none
mdadm –grow /dev/md1 –size max
mdadm –wait /dev/md1
mdadm –grow /dev/md1 –bitmap internal

Expand LVM to use the new space

[root@ns1: /root]
/bin/bash# pvresize /dev/md1

[root@ns1: /root]
/bin/bash# pvs
PV VG Fmt Attr PSize PFree
/dev/md1 rootvg lvm2 a– <148.38g 54.62g

Other Notes 1:

I also dropped/readded a drive with pending reallocation sectors.  That is entirely unrelated to the reshaping above, but I’ll dump the log here for my own reference.

### See the errors
/bin/bash# smartctl -a /dev/sda
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.19.0-10-amd64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

Model Family: Western Digital Red
Device Model: WDC WD30EFRX-68EUZN0
Firmware Version: 82.00A82
User Capacity: 3,000,592,982,016 bytes [3.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5400 rpm

Vendor Specific SMART Attributes with Thresholds:
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always – 1
196 Reallocated_Event_Count 0x0032 199 199 000 Old_age Always – 1
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always – 2
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline – 0

### See what arrays use this disk
[root@ns1: /root]
/bin/bash# cat /proc/mdstat | grep -p sda
md0 : active raid1 sda1[4] sdd1[1] sde1[3] sdc1[2] sdb1[0]
271296 blocks [5/5] [UUUUU]
bitmap: 0/1 pages [0KB], 65536KB chunk

md2 : active raid6 sda3[3] sdb3[2] sdd3[4] sdc3[1] sde3[0]
8682399744 blocks level 6, 512k chunk, algorithm 2 [5/5] [UUUUU]
bitmap: 0/11 pages [0KB], 131072KB chunk

### Remove and re/add so it re-writes
[root@ns1: /root]
/bin/bash# mdadm /dev/md0 –fail /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md0

[root@ns1: /root]
/bin/bash# mdadm /dev/md0 –remove /dev/sda1
mdadm: hot removed /dev/sda1 from /dev/md0

[root@ns1: /root]
/bin/bash# mdadm /dev/md0 –add /dev/sda1
mdadm: hot added /dev/sda1

[root@ns1: /root]
/bin/bash# cat /proc/mdstat | grep -p sda
md0 : active raid1 sda1[5] sdd1[1] sde1[3] sdc1[2] sdb1[0]
271296 blocks [5/4] [UUUU_]
[=================>…] recovery = 87.3% (237440/271296) finish=0.0min speed=118720K/sec
bitmap: 0/1 pages [0KB], 65536KB chunk

md2 : active raid6 sda3[3] sdb3[2] sdd3[4] sdc3[1] sde3[0]
8682399744 blocks level 6, 512k chunk, algorithm 2 [5/5] [UUUUU]
bitmap: 0/11 pages [0KB], 131072KB chunk

### Remove/Readd the bigger array member
[root@ns1: /root]
/bin/bash# mdadm /dev/md2 –fail /dev/sda3
mdadm: set /dev/sda3 faulty in /dev/md2

[root@ns1: /root]
/bin/bash# mdadm /dev/md2 –remove /dev/sda3
mdadm: hot removed /dev/sda3 from /dev/md2

[root@ns1: /root]
/bin/bash# mdadm /dev/md2 –add /dev/sda3
mdadm: hot added /dev/sda3

Other Notes 2:

I also made a new array on partition 3.  That is entirely unrelated to the reshaping above, but I’ll dump the log here for my own reference.

[root@ns1: /root]
/bin/bash# mdadm /dev/md4 –create -l 6 -n 4 /dev/nvme?n1p3
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md4 started.

[root@ns1: /root]
/bin/bash# pvcreate /dev/md4
vgcreate Physical volume “/dev/md4” successfully created.

[root@ns1: /root]
/bin/bash# vgcreate ssdvg /dev/md4 -Ay -Zn
Volume group “ssdvg” successfully created

[root@ns1: /root]
/bin/bash# vgs
VG #PV #LV #SN Attr VSize VFree
datavg 1 7 0 wz–n- <8.09t 704.12g
rootvg 1 7 0 wz–n- <148.38g 54.62g
ssdvg 1 0 0 wz–n- 3.58t 3.58t

[root@ns1: /root]
/bin/bash# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid10]
md4 : active raid6 nvme3n1p3[3] nvme2n1p3[2] nvme1n1p3[1] nvme0n1p3[0]
3844282368 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
[>………………..] resync = 1.0% (20680300/1922141184) finish=216.5min speed=146336K/sec
bitmap: 15/15 pages [60KB], 65536KB chunk

md3 : active raid1 nvme3n1p1[3] nvme2n1p1[2] nvme1n1p1[1] nvme0n1p1[0]
289792 blocks super 1.2 [4/4] [UUUU]

md0 : active raid1 sda1[4] sdd1[1] sde1[3] sdc1[2] sdb1[0]
271296 blocks [5/5] [UUUUU]
bitmap: 0/1 pages [0KB], 65536KB chunk

md1 : active raid6 nvme1n1p2[3] nvme3n1p2[1] nvme2n1p2[0] nvme0n1p2[2]
155663872 blocks level 6, 256k chunk, algorithm 2 [4/4] [UUUU]
bitmap: 1/1 pages [4KB], 65536KB chunk

md2 : active raid6 sda3[5] sdb3[2] sdd3[4] sdc3[1] sde3[0]
8682399744 blocks level 6, 512k chunk, algorithm 2 [5/4] [UUU_U]
[=>……………….] recovery = 6.6% (191733452/2894133248) finish=349.9min speed=128713K/sec
bitmap: 0/11 pages [0KB], 131072KB chunk

unused devices: <none>


TLDR: I now only have to download microsoft and steam updates once for all 13 systems in the house.
I finally set up a LAN Cache. I got tired of windows update sneaking in and eating all of my bandwidth, killing movies, etc. We have 4 regular Steam clients, plus 3 that don’t run very often; and we have 13 Windows 10 systems. It seems like settings always revert, and they update whenever they want, or at 100% bandwidth a few months after setting the throttles low.
https://lancache.net/ caches steam, windows updates, and several others. It was much easier to set up than a squid webproxy on my router. This should make it so anything that is downloaded only downloads once. only have 200GB to throw at it right now, but that should help a bunch. I need to set it to auto-start on boot, and to give it more space eventually, but I’m just really happy it’s working now. And apache, SSLH, and DNSMASQ on the same host still working.
My router already pointed to my server for DNS Masquerading, so I could manually override things. I added a second IP address, and modified lancache.yml to put all services only on the new IP address. I updated dnsmasq.conf to forward to lancache only, because it was not obeying the fallback rules.
This means if lancache dies, I have to edit dnsmasq to keep the home network functional. So many layers.

Spacetime Dream

I had one of those dreams during waking that was both vivid and meaningful. It was in a village, with many people around. Standing inside, but near the lip of a basin. There were trees, complex terrain, but not a lot of big rocks. Everything was lush and green in the late afternoon, early evening. Before dusk, but no direct beams of light seen.

The basin wasn’t actually a basin. It was curved spacetime. Gravity did not “feel” strange, but it did “look” like we would walk down into the basin to go forward. Left and right seemed normal. Perhaps the Earth had become a Mobius Strip in spacetime, not a torus. We were looking across the gap from the inside.

There was no Sun in this universe. It just became brighter and darker over time. Shadows were always towards the center of the strip, but if you looked behind you, you would see the curce of the Earth going upwards.

We were looking up at the moon. The moon was physically smaller, but seemed much larger because of how close it was. It took up maybe 5-10 degrees of arc worth of the sky. The moon travelled perpetually in the center, because really, it stayed stationary. The Earth’s surface rotated continually, almost flowed, across the Mobius, dragging atmosphere with it.

Left to right, there were lots of cirrus clouds, with a thick line of them. You could see the clouds striking and billowing against the line of clouds. No dust was coming off of the moon, and it was very dense — more massive than IRL.

In the distance, instead of blackness, or stars, it was the darkest blue. You could see the lights of night-time, creating an outline of the entire continent of Africa, isolated, without Europe nearby. It was almost directly across it seemed, but it was also up vertically because of the curvature.

We understood, all of this in a way, because we had grown up with it. This was still an amazing sight, just like IRL how people get excited for a solar eclipse, or a blood moon, or a comet, or a meteor shower, or any other less common movements.