Gary.
This meeting is being recorded. There we go. All right. Yes, it's a good suggestion, Stan. We do need to start moving along on this.
So this is the monthly St. Louis Linux user group meeting, the St. Louis lug.
St. Louis Lug is part of SLUB, the St. Louis Linux Unix Users Group.
And that group holds about four public meetings a month or four meetings that are more user oriented.
So if any of you show up for any of you two meetings in the last calendar year you're a voting member. There are no dues, so you can vote. And it just so happens that this is election month.
Let's see. Stan, do you have any thing you want either coming up on a slide or something you want to say about that now or Just to… Okay.
Vote early, vote often. There is a link on the web pages.
The ballot.
If you have a Libra office writer, you can download the actual ot T document and fill that out or you can just download the the PDF manually and fill it out and mail it in. If you mail it in following the directions on the ballot through the U.S. Postal Service, that becomes a secret ballot.
I mean, if you… to do such a thing is try to email it to us. Well, we get it, but then we can figure out who you are.
I suggest that you vote early and vote often and and Like today would be a good day or tomorrow would be a good day to print it out and fill it out and mail it in if you care to vote for anybody.
I didn't receive any large donations for me to keep people off the ballot.
So you'll see quite a few names on there.
James Conroy here, or is he AWOL again? Gary will be acting as our emcee for the night. Lee Glambert is our technical I do some of the production.
We need somebody to kind of monitor the chat room if it's all possible.
And, um. Because when a speaker gets going, they often do not uh focus on chat room. If they have any slides, that's what they're focused on.
Also, if we need help finding more speakers, it's been quite difficult lately for Gary to find People just, you know, it just… people that teach they teach have quite an extensive schedule people at work have extensions too that they have to go through
And it's a lot of work or some people are think it is a lot of work I don't think it is. I can take a subject that I know nothing about and generate about 35 or 40, 50 slides in the course of putting something together, but that takes a while.
And then it kind of wears you out. And it doesn't have to be that extensive. Sometimes I suggest, you know.
We can have a discussion that doesn't even have to have slides, but five or six slides promote keeping on topic.
And also generate a lot of questions.
No. As far as announcements, Gary, go ahead here, please.
I didn't finish the book again. My fault. Book end should also have the date. And today's date is February the 20th of the 20th 2025.
And I forgot to say that earlier, so sorry. Our speaker tonight is Sean Tweehouse.
And he's going to be telling us about And I'm going to get the name wrong, so I'm not even going to say the name.
But it's a… file system from Red Hat or that Red Hat started.
So anyway, going on with the rest of the announcements here, let's see, five days from now, the fourth Tuesday.
November is the new Linux meeting. And…
Not November. I'm sorry. That should read… February.
That should be February. Okay. The new Linux meeting. New Linux meeting is for newer users of Linux, but don't let that scare you off because uh The great thing is is a lot of experienced hands come to the meetings as well.
And it serves for both ends of people. The new Linux meeting, the rule that we don't have a set presentation, but instead it's whoever considers themselves to be the the most new user of Linux gets to ask the first question and people will
Try and come up with an answer for it. That's where the experienced users come in. And you may say, well, it's going to be boring for me as an experienced user. Oh, no, no, it's amazing. Sometimes you go.
And you find out that on any particular question. Three or four experienced users may have completely different ideas of how to approach the problem.
And it makes for some real interesting discussions. So by all means, everybody should come to the new Linux Busey.
User meetings. The next Slack meeting is the first Thursday of next month.
Slack is the St. Louis area computer club It's more of a hardware oriented group. We'll even talk about Microsoft.
Rating systems so And then the slug general meeting is the second Wednesday of the month and uh I believe next month our main speaker is going to be Scott Graneman, and he's going to talk about chat GPT again, specifically that's at AI Software.
And specifically, I think his title is something like eight questions that I was amazed that chat GPT could solve.
He's got eight good examples that he'll walk us through.
Do you have anybody lined up for base next month?
I don't think so. So yes, if anyone would like to do just a short base session, it could be not even 10 minutes. Could be 20 minutes, but don't even try and do more than 20 minutes because Otherwise, with a few questions, it becomes too long for a base session.
But by all means, if somebody would like to do the bass email me, email Stan, or just email editor at slug.org and one of us will pick it up and follow up with you.
Let's see. Sean, our speaker tonight, on a different topic, he's building new web pages for SLUG and STL Linux and So he's given us some hints of what's coming. And it is up.
That people can actually take a peek at. So maybe he'll tell us a little bit about that at the end of his talk.
Tonight. And then… Let's see. This year, Microsoft Windows, it's their end of life.
For Windows 10, Microsoft Windows 10. So… And it shouldn't actually be, yeah, it is this year. So November.
Okay, other announcements. Anybody have any other announcements? Anything funny coming up on the calendar that we should know about?
Lee, Span.
Anyone else? Anything that's not one of our meetings that somebody just wants to point out is coming up on the St. Louis calendar or the nation's calendar or the world calendar frequently have people from other places in the world logging into this meeting.
Okay, if anybody thinks anything, you can always interject it here. There'll be a general call for help.
After the main presentation tonight, we can just continue with talking about other people's experience and problems.
But usually before our main speaker starts, which should be in about one minute.
If anybody really feels like they got to get a quick question in here at the beginning, now's your chance. Anybody got anything they really want to try and ask here at the beginning.
A call for help kind of thing.
Call for help kind of thing. Yep.
Okay. We need to mention these are our other meetings that we have.
The new Linux users group meeting, the Slack meeting, and then there's the the main overall general meeting that we have, those that are sponsored meetings.
Yep.
We also have a calendar. If you go to our calendar at wwslug.org slash calendar Our sponsored meetings are shown highlighted in red.
And we also have archives of the archives those particular slug and St. Louis Linux meetings are recorded and are archived there.
And…
Okay. Only those meetings are recorded for posting. This meeting will be recorded.
It's posted and shared. Anyone here can also be recording.
Chat slides and videos are posted on our site and on YouTube.
Like I said, anyone might be recording.
We do have a mailing list, an announcements list, discussions steering committee and sysadmin list.
If anybody's interested.
This has been a call for help. Nobody is interested. We'll get it later.
Okay.
Okay. All right. With that, let me bring up our speaker tonight.
Sean Tweehouse has been a frequent speaker at our group. Always comes up with some good technical topics. We always appreciate it.
And so without further ado, I'm going to turn it over to Sean and uh He'll tell us all about it. By the way, if anybody's interested in Looking at Sean's bio, if you click on the hot link on the agenda.
We're on the website. It'll bring up his bio page. So, Sean?
Are you able to turn it on?
Thanks, Gary. Yeah, you should be seeing my screen now and my video, hopefully.
Yes, we hear you and see the screen. Thank you.
Alrighty, let's get started. Tonight I'm going to be giving a presentation about managing storage using partitions, LVM, and then a new storage technology from Red Hat that's called Stratus.
So let's dive in. So first a slide about me. I was a system administrator for several years, but then I saw the transition to cloud and DevOps and I noped Right out of there and transition to software development.
My current role is a tech lead software engineer at Southwest Airlines. I'm also adjunct faculty at the St. Charles Community College, where I teach the Linux administration course, which is a course that prepares students for the Red Hat Certified Systems Administrator and Red Hat Certified Engineer exam.
When Gary emailed me a couple days ago, you know, I obviously didn't have time to prepare a whole lecture or like a whole presentation. So this is actually just my lecture from last week kind of lightly adapted. So sorry if it gets too boring
Like I said, this content was tested on Red Hat Enterprise Linux 9.3.
All right, let's dive in and talk about partitions. They're used to split your hard drive into sections. Why would you want to do that? Well, you won't need to do that because It's a good tool to stop the disk with your root partition from filling up and you do not want that to happen because the disk with your root partition becomes completely full
Your server will grind to a halt and eventually probably crash.
It might take a while, but I think eventually it would.
Either way, it's not going to be performing well if the root partition is full.
But partitions are not that great because they're very inflexible. You can move partitions around on a disk, but it's very inconvenient.
You know usually incurs downtime And you really got to plan ahead if you're going to use partitions, like having some rule where it's like.
We're going to make the var log partition two gigabytes on every single one of our servers you know that kind of rules like that are typically not that great.
You probably want to be a little bit better planning ahead than that, knowing your workload and stuff like that because If you have a server and the var log partition is too small and keeps filling up, you're going to have a
A bad time. It's just not going to be any fun.
So definitely pros and cons with partitions. There's two partition types that I'm going to talk about tonight.
Mbr, Master Boot Record, and GPT, which is the GUID partition table.
Starting off with the master boot record, it's an older partitioning scheme It's limited to disks that are two terabytes in size.
The big downside of MBR is that it's a single point of failure. So the MBR is located on the first, I believe, 512 bytes of the drive. And if you have any corruption there or problem with the disc in that area, well, I think you're kind of just
Up a creek. Most of the time, MBR is only used with biosystems, basic input output. So if you can't use your mouse on your computer's BIOS, then it's probably It's probably BIOS and you probably want to use an MBR partition
As we're going to see in the demonstration later. You can only have four primary partitions on MBR if you want to create more than four.
You have to create an extended partition and then you can create, I think, up to 10 logical partitions inside of that extended one.
But there is some risk with that because if the extended one goes kaput, well, I think all of your logical ones also go kaput.
Not that, not amazing, to be honest. And that's why the more modern way to do it is with the GUID partition table, GPT, and by more modern i mean like what like the early 2000s. I mean, even the screenshot of a UEFI that I have over here on the right is from
2010 so uh So the word modern when it comes to GPT is very A very broad definition of it. But anyway, with GPT, you can have 128 partitions. And just because you can does not mean you should. Definitely don't have that many on a disk.
Please. But you can also have up to eight zettabytes, which we're going to see in a while.
Wildly bigger than any of us can even imagine. Guid stands for Globally Unique Identifier. And you know.
Uefi was kind of Microsoft's thing or they were the main push behind it. That's why it's called good Everybody else calls it UUID, and there's even an RFC for UUID.
But when you're in Microsoft land, you call it GUID. And it solves the problem of MBR because it puts an additional copy of the GUID partition table at the end of the disk. So you have one at the start of the disk and the end of the disk. So that eliminates
That single point of failure. And once again this is most often used in UEFI devices.
Now, I said zettabytes earlier, and here's just a little chart And this chart is to demonstrate the difference between kilobyte and kibyte.
Megabyte and mebabyte. And you see that the oh the the kilobyte, megabyte, gigabyte Those are those are round numbers.
Sorry, I'm blanking. Exponents of 1,000. And kibovite, mebabyte, gibabyte are exponents of 1024 based.
And you can see that when we're buying hard drives now, we're in the terabyte range. And we talked about GPT supporting eight GPT.
Zettabytes. So, I mean, we still got petabyte, exabyte and you know to go through before you even get there.
Gpt should be around for a while. When you plug a device into your hardware.
The Linux, I believe the kernel is going to give it a device name The ones that you're going to see on my system are at the top there. They're SDA, and that's what's used for SCSI devices.
Or SATA devices. Another popular one you might see is VDA.
Near the bottom, that's where KVM virtual machines Another common one is NVMe0N1.
And… You know, all these ones that have A on there, that just depends on how many devices you have, right? The second one will be called SDB, SDC, SDD, you know, it'll keep incrementing up.
I believe it'll even go like SDAA if you have like 27.
Which, again, you shouldn't really Not recommended, but you see with the NVMe, they finally switched it to numbering. So it's got an N1 at the end instead of an A.
So I guess they like that better for the newer stuff.
Okay, so we're about to jump into a demo. Before we do.
The things that we're going to use are going to use LSBLK to list the block devices.
I'm going to use the parted utility just because that's what my Like I said, the text in my college wants to use, but I prefer like F discisc, but they wanted to use the parted utility so that's what i
Went with and then we're going to obviously have the storage devices Now, I'm going to give myself a task. This is similar to a task that you might see on the Red Hat Certified Systems Administrator exam. And that task is to create five
Mbr partitions on dev SDB. And in order to accomplish this task.
Yeah, Grant's seen all the letters. He's used the whole alphabet and circled it around.
Yeah. Okay. Sorry, I'm just reading chat there and getting distracted.
And feel free to interrupt me if I say anything wrong or if you have a question. I encourage interruptions all the time.
But in order to accomplish this task, I need to break it down into subtasks. So the first subtask that I'm going to need to do is view the storage devices to see what I'm even working with.
Then I'm going to take a closer look at DevSDB. Then I'm going to create an MSD.
Dos disk label. And I'm going to create five partitions and then we'll we'll verify those partitions as well.
And I'm going to show a series of demos. They're all pre-scripted.
You can view the recording of the demos on a skinma Or I have in the slides, I have a gif of them as well so but no spoilers here we're going to Let's see.
It's not letting me exit the slideshow. I might be in trouble.
Hmm. Oh, there you go. I don't know why I had to do that. That was weird.
Okay, so here's my terminal. Sorry, here's my terminal
As you can see, we're SSH into server b right now.
I'm giving myself a task to create five MBR partitions. Step one on that task is to view the storage devices.
I'm going to run LSB. It's pretty big, but sure, I can try.
Can you enlarge that text for Gary?
Oh, no, that's not what I wanted.
There we go.
Really getting a whole lot bigger but There we go. Okay, that's huge. This is going to throw off my demo, but we'll be all right. We'll make do.
So LSBLK-F is going to list the block devices and F is going to show us some additional information.
And the important part that we're looking at here is the SDB.
And we see that there's no partitions or UUID or anything associated with it. So it's completely Empty block device here.
And next, I'm going to inspect SDB a little bit closer. So I'm going to run sudo to run this command as root.
Parted is parted is partitioning utility we'll be using.
Slash dev SDB is the device and the command we're going to give departed is print.
And here we can see the important things to notice here. The disk is about five gigabytes.
The sector is 512 bytes and the partition table is unknown. So there's no partition table on it right now.
Next, I will create a MS-DOS disk label. So once again, all of this part of the command is exactly the same.
But instead of putting print, I'm going to put make label and then I'm going to pass msdos.
The other option you could pass there is GPT, but we're doing MS-DOS for this demo.
Parted. Tries to be very helpful and it's going to tell me that I need to update my FS tab like anytime I do anything. And it's like, yeah, I know. Thanks.
For telling me the millionth time. Okay, so now we're going to create five partitions. So the first partition, I'm going to use the command syntax, which is similar to what we've been doing.
So, and then later I'll switch to the interactive part mode for parted.
So once again, this part of the command is all the same, but instead of running print or make label, we're going to run make part I'm going to make a primary partition. Remember with MBR drives, you can have four primary
Or if you do three primary and extended, then you can do more.
The party to ask you for the file system type for some reason, but as far as I know, it's completely optional and it doesn't use it at all.
But it's easy enough to type XFS, I guess. 1m says start this partition at one megabyte.
500m says stop the partition at 500 megabytes. So let's run that. Once again, it's bothering me to update the f-stab. We know, we know.
And now I'm going to switch to the interactive mode for parted Which I'm just going to give it pseudo parted, and then the device that I want to interact with.
And now we're in kind of the interactive mode. And so…
So a little confusion there. You said you started at 1 million and stopping at 500. So that's negative 500.
Megan.
Sorry, one megabyte and 500 megabytes.
Sorry about that. If I…
500 megabytes more on top of the 1 million. So it's 1.5. So you're starting at 1 and 1.5.
Well, here, let me show you. So we started at one megabyte mebabyte right or one one knows one megabyte And, you know, part of the tries to like align the, you know, the partition to the sectors on the disk or whatever. So it's actually
1,049 kilobytes. Is the start and it ends at 500 megabytes. So the size is only is technically only 499.
Megabytes for that partition. I know.
Is this truly interactive or an Askinema of an interactive process?
Well, let's find out. So I'm going to create our second partition here, make parts And then it's going to ask me if I want primary or extended. I'll do primary.
It asks me for the file system type, but it doesn't create the file system or anything. I don't know why it asks.
But I'll do…
I think.
It actually puts a tag on that in the table that says what type of
Sean, the reason I asked if it was actually interactive or not is I think you can change your units for your display.
Yeah, I'll put that. We'll do that in a minute. That's part of the demo.
Cool.
But yeah, it puts the file system type. But then if you close part of it and go back into it, it like doesn't list it anymore. If there's no actual file system there.
So that's what was always weird to me about that it's like
There's another command that you can go to that actually
Yeah, F disc probably the one. That's the one that I more prefer, so I'm a little bit partial.
Okay, let me go. All right, let me keep going here. So we're going to create our second partition still. So we'll start at 500. I'm going to end at 1000.
And then if we print, we now see the second partition here 500 to 1000. The size of that one's 500 megabytes. So you just put the start You put the start megabytes is the same as the end of the old one.
And that seems to work. I've never had it not work.
That's what I've been doing. Now let's make one more primary.
Let me clear the screen, make parts. Primary and this time we'll do EXC4. Why not? I don't think it matters. You can do 1g here Because I've been doing M up till now, but I'm just demonstrating that you can do like
1g, 2G like this And it'll work. So we have 1000 and then we have 1000 2000 megabytes. And like we were saying earlier, you can change the unit So if I type unit, if I don't typo, if I type unit
It's going to ask us what unit we want to use instead. By default, it uses compact, which is some kind of a Megabyte by default or something. I don't really, I forget exactly what it is. But if you hit tab two times.
It'll show you all the different options. So if we do S for sectors.
Then we can print this out. And now you see instead of megabytes here, we're getting how many sectors All of these partitions are starting and ending and taking up and all that.
Another thing I can do is unit, and then we can do like gigabytes for example And now they're all displayed in gigabyte Okay, now let's go ahead and make our fourth partition here. So I'm going to do make part
And this time I need to pick extended
And then it didn't ask me for the Okay. I'm going to do from two gigabytes because that's the end of the last one.
And I'm going to do 100%. Because, well, I took it off here, but percent is another unit that you could do.
So I'm going to do 100%. And if we print that out, we now see that we have this extended partition that takes the rest of the device.
And now inside of that extended partition, we can create, I think, up to 10 or 11 logical partitions. I think you can have up to 15 total Now, if I do make part again, let me play the screen, make part again.
And now my only choice is logical. And the one in the square brackets is what it will use if you just hit enter.
So I'm going to do that. And then I'm going to go from 2G to, I don't know, 3G, something like that.
And there we go. So now we have five partitions. Which is the task that we set out to do. And we learned a little bit about part it along the way So now if I want to verify those partitions, I'll just run
Lsblk dash f and now here on DevSDB we see we have five partitions.
Okay. And apparently the demo runs print and then there we go. Okay.
That's the conclusion of that demo. I'm going to go back to the slides now.
So now that we've got partitions, the next thing that's important is file systems.
And, you know. So for my class, you know, I was worried that people would forget to add a file system and get confused So what I told them, and you tell me how wrong I am here, but what I told them is uh
You know, because I'm worried about these students just not even knowing what a file system is or just not even knowing they need one and then forgetting when they're like on the exam, forgetting to even add one or like How come I can't mount this partition? It's like, oh yeah, I didn't add a file system yet.
So what I told them is one way that you can think about it is you don't actually save your files to the hard drive what you do is you save your files to the file system And the file system breaks it down into smaller pieces like sectors and blocks and things.
And those sectors and blocks are what actually gets saved to the hard drive.
And I told him that's a gross gross oversimplification.
But if that helps you remember that file systems are needed before you can mount it, then that's a good, you know.
To me, that's a good enough, right? What do you guys think?
I think it sounds reasonable for somebody that's new to file systems.
Yeah.
I've also heard that You could consider the drive the house And partitions are like rooms and then the file system is like the flooring inside the rooms.
Yeah. And this file systems, honestly, it's one of the things that kind of got me, you know, first I started perking up about Linux when I was in class. I'm like, wait a minute.
So something called the file system exists And I didn't even know that existed before.
Now you're telling me that there's like 10 choices and that's like something you can make a meaningful choice about different file systems, you know?
Because if you're only used to Windows or Mac or whatever.
Then you don't even think that's a choice. You don't really have a choice, right? You just use the one that comes with the And so I think it's pretty cool actually to be able to choose. And we do have many choices on Linux. You know, ext4 is
The you know a standard one. Butterfs is a new one that is very divisive.
Zfs is the best one that you can't use because of the licensing nonsense.
And then XFS is the one that the red hat really recommends and uses by default.
This is Stan. I've… tried to describe it to some people as think of putting in a garden. I mean, you string out an area where you're going to plant carrots in this row and you're going to plant cabbage and this row. You can put the seeds underneath that row
And if you… On that line where you know where you know where those seeds are planted. Those are the files.
Well, you can actually, and this is… is a little more complex, but you can actually wipe that file system, those seeds will still be under there.
And they can be recovered with forensic software. But… The whole idea of you think about you've got to think about draw out your garden. You've got to design it and then then put your seeds underneath.
Yeah, I agree with you, but no offense, Dan. I don't think the 20-something, you know, urbanites I'm talking to In my class, I got to get the farming.
Yeah. Yeah. What's a garden?
So, so.
So you say you can't use EFS? Every person that uses TrueNAS will disagree with you on that.
I got it up here on my…
Point.
I know. And so will Ubuntu and I was mostly just joking because oracle won't change the license or else this whole thing would be solved. But now we need B cash FS, right? Which is… causing hot water in the kernel so or you know hot blood pressure in the kernel but
Let's see. And this is the kind of debates that we can have in the Linux world where on Windows, you just use the one that's available, right? Same thing for Apple, right?
Yeah, because every time they introduce something new, like, what was it?
But the last
Right. Oh, yeah. I had one of those go sideways on me.
Storage spaces, they totally bork it.
Well, Windows supports multiple file systems. 16, FET32, NTFS.
Yeah.
Ex fact.
And everything after and everything after that is… that they've tried to create it has been just bulk to the point that they rather create new matter.
Yeah.
Okay, let's keep going though. Extensible file system. So the claim to pain for this one is it's a journaling file system.
Supports devices up to 1024 terabytes And XFS file systems can only shrink.
Or can only grow, sorry, they cannot shrink. That's kind of where ext4 has a leg up is it can resize in both directions But XFS can only shrink.
All right, now we're going to do another, if I can get up
Said it again. Xfs can only grow.
Dang it. Sorry. It's been a long day.
That is actually one of the reasons I dislike using XFS.
In some places as I've had to shrink file systems frequently.
Yeah. Yeah. That's the big killer. That's the downside for sure.
Okay.
This is Stan. Can you go back to that slide with the list of partitions real quickly
The partitions.
Yeah, where you were doing the the building the petitions and building the petitions One, two, three, four, five.
Oh, you want me to do…
Show that again.
Oh yeah, I was in a sub show. Sudo parted. Travis TV.
That was…
It says it's one, two, three, four, five. And it starts at the 1049 KB. And I'd like to… think of a zero is before, from zero up to that point.
Is kind of hidden. And that's essentially where the… It keeps the data.
So that's why they normally everything traditionally started out with zero, but they're not showing you that.
And the idea is that they're going to stick that information in there and that's where the the uh all that partition information is… at the zero level.
No. No, that's for that information is stored.
I thought that was just unused. You're just aligning to the…
I think it's both. I think the MBR stored in the first 512 bytes and then yeah, the rest is just aligning to the sector the sector.
They do that for safety, I think.
I think you're right.
Bye. Well…
This is not MBR. You said this is GF, right?
Does this…
No, this is NBR. I did NBR just so I could show the logical nonsense that you have to do.
That's right.
In MBR, the first block is the boot block. The second block is where the partition stable table starts.
Right. So the second block until, you know. Block where 1024 is.
Is not being used. It's just shadows it's just wasted space at this point.
Being used by the operating system. It's being used by the BIOS, though.
And partitioning of the drive. And boot sector.
So there's data in there. You're saying there's data in that verse.
Yes, it's not user data. But there is data in starting at sector zero.
Isn't the bootloader in there? Is that a good…
Bootloader partition and viruses and some other things are in the first sector.
The bootloader is on a partition.
Not always.
Originally, it was in that first sector, if I remember right You always had to reinstall grub to get it to change bootloader options, right?
Lilo grub you one of its claims to fame is it could read the config without reinstalling itself.
Yeah, that's right. Rilo.
Originally.
But most modern bootloaders or whatever are multi-stage
Right. So the first 500, you know, it loads to bootloader.
Yes.
Which is stored on a partition, like a boot partition like
Second stage of the bootloader. First stage is in the first stage is
It's the first 500 megabytes.
512.
Well, 512, yeah.
And bytes, not megabytes.
Right. Correct.
Sorry, we did not mean to hijack your presentation.
Oh, it's all good. It's all good. We might be here till midnight at this point, but we'll just keep it on roll.
He's going to have, by the time he gets done, he's going to have version two with all our information in it.
So now we have…
Okay, so now let's just create some file systems real quick. I'm just going to blast through this.
The command for that is makefs mkfs dot, and then whatever file system you want. At least this is how it works for XFS and EXT4, which is the ones that we're going to be concerned with The key point to mention here is the number on the end.
So you do not want to give it a whole device. You want to give it whatever partition you created.
So we're going to make a best there. You all are smarter than me enough to know what all this stuff is. I have no idea. Never really needed to understand any of that.
So I choose not to. And then we can create an ext4 file system on SDB2.
And so once again, a bunch of gibberish and whatnot. There. And then we can view the partitions by running lsblk-f again. And here we see XFS and EXT4, and we have a UUID. Those are going to come into play later because we're going to talk about mounting
Next. And now if we print it, it actually shows the file system. Now they actually exist. But if we look up before, it was blank on all of them.
So. There we go. End of demonstration. Sorry, I just wanted to speed through that one.
When you do an ls block without any options, please.
Sure.
There's a command that will print the UUID of partitions versus file.
Oh, yeah. What is that? I can't remember.
Block ID. B-lk ID?
Oh, yeah. Yeah. Yeah.
I don't know. And they need Sudu.
Anyway.
Let me check. Oh, there you go.
You got to be suited to even read the whatever
You're opening a lower level device.
And this is one of the places that type shows up.
Yeah.
Awesome.
Well, you can add type to LSB, okay?
And you can get it to show multiple if you don't put the device on it.
The newer users were kind of delving off into a slightly more complex thing. You might want to give a little a little bit of concept of what what we're looking at there.
A perfect example of 18 different ways to do five different things.
Try the Ellis or try the… the block ID on just sdb instead of SDB1.
We're bike shedding over processes to do something. Each of us has our own way.
It's Sean has done a good job showing basic concepts of partitioning and probably the Red Hat preferred way to do it and prefer to do it preferred of what you do with it.
This is just a glimpse into the minutiae the man behind the curtain type thing.
Well, what we just got there is a little different. That's partition type. So that's PT, PT.
Yes, that's interesting. I never knew that.
All right. Well, wait till all the minutia we can get into when we talk about mounting.
So two ways to mount something. Well, okay, I'm going to talk about two ways to mount something. You mount it temporarily.
Using the mount command and the way that I explain this is that The mountain command is actually kind of similar to copy or move because you do mount.
You do what you're mounting and you do where you're mounting it to. So mount from two kind of thing.
And then if you want to mount something persistently where it'll be there automatically at boot, you do the F stab.
Or the FS tab, however you want to say it I'm trying to switch to saying FS tab because I realize it's supposed to be for like file system table.
But I still, you're going to hear me call it F-stab quite a bit on modern rail systems, the F-staff entries are going to be translated to System V mount units buried inside of the slash run.
Directory somewhere. And so whenever you modify the F stab you need to run system well you should You should probably run system CTL daemon reload So just keep that in mind.
Here are the SSTAB fields. So the first thing is the device.
You can identify the device using the name, the UUID, or the label.
Going to choose… We're going to use the UUID here. I think it's pretty common to use the UUID nowadays.
It's just nice that it doesn't change, whereas the device name i guess under some really weird circumstances could change on you.
After the device name, you want to put the mount point. That's where you want to mount it to.
After the mount point, you put the file system type. This is going to be XFS in our case, but you can also do things like NFS, if you're mounting a network share After that, you're going to put the mount options
Typically, you're just going to put the word defaults there Unless you need something more specific.
And if you do, you just got to check demand page it has all the different mount options. If you check the man page for mount.
And then the last two columns you know.
If you just put zero in both of the last two columns, you'll be fine most of the time. I mean, I realize with this group, we want to go into the minutia, but for But for normals or, you know, people just learning
You know, that stuff is a little bit Okay.
This is Stan. I'd like to point out the reason I understand that they went to UIC.
Our UID was because people would have like five different hard drives labeled as backup and then they'd get confused as to which backup they were loading.
So the UUID was a way to distinguish The one disc you had labeled backup from another that was labeled backup from another that was labeled backup.
Another more common example is if you have a data drive say call like an external usb And it has its UUID for the file system when you first create it and mount it, it might show up as DevSDB.
But if you keep it offline and have set it on a shelf and you have another flash drive plugged into your system.
That happens to take the SDB letter And then you plug in and go to do your backups Well, it's no longer on SDB. It has changed the device ID.
That's where the UUID. Is consistent.
No matter what its drive letter is. And you can get into that scenario a whole bunch of different ways. That's just one of the simpler ones.
Also, if you have a SAN, the order that your drives present is totally dependent upon how the sand wakes up and presents them So you can get them jumbled in any order you want, but UUID is going to be consistent
Across all your boots.
So I'm going to give myself a task to mount the dev sdb1 file system on the slash MNT slash records directory to do that, I need to break that down into subtasks. So first we're going to start off by
Inspecting DevSDB. Then we're going to do a temporary mount and verify it.
Then we're going to persistently mount using the FS tab and then we'll verify that. And when we reboot, we'll even see that it persists.
Through reboots. So let me load up.
My next demo, sorry.
Okay, so first inspect of STB. So we've been seeing it quite a lot. So I don't, oh.
I thought it was going to run a different command. Okay, so next we're going to temporarily mount DevSDB1 on mount records. So the first thing I do is make the directory where you're going to mount it since it doesn't exist.
So I'm just running a mictur on mount records And then I'm going to go ahead and run the mount command. And like I said, you're going to run the from and then the to. So what are you mounting and where are you mounting it to?
And this is the same order. This is also the first two fields in the FS tab, if that helps you Remember it?
So we'll mount that. And now we're going to verify the temporary amount. So I'll run LSBLK-F again.
And we'll see that now there is a mount point listed for this DevSDB1.
Question, what's the mount point?
It's a place on the file system where block devices are mounted.
How about that? How's that? I felt like I gotcha.
That's a perfectly good Webster circular definition.
For new folks, it's a directory that should be empty and that's where you mount it.
Because if you mount something on a directory that's got data in it, you can't see that data in that directory anymore.
Yes.
Oh, I know there are ways, but for the normal people, they don't see it anymore.
Oh, there are ways.
Right. I have a chat with Sean about what about network mounting?
So if you're…
Does it have to be a drive?
No, of course not. So if you run the mountain command without any options, this is going to print out all your mounts, which is a lot of information. So we pipe that to grep.
And we can look for the specific mount point that we're interested in.
And this is pretty much plain English. I think this is one of the most English outputs you get on a linux So, you know.
I feel pretty good about that one. Okay, now just to prove that it works, we'll go ahead and touch a file and bam, we see it.
And now let's go ahead and unmount that temporary mount so we can do it persistently.
Don't get confused like I always do. This is not unmount. It's you mount. And I always typo it.
So good thing I'm not actually typing in this demo. But you mount and then you give it either the device or the mount point, either one.
So does your demonstration show how to mount on the command line with using UID?
No. No, because I didn't want to, I guess I could. I guess I should have done that maybe.
All right. So now…
Once you get that UUID typed right, you know.
Well, I just copy and paste it. But OK, so now that we've unmounted the temporary, we're going to mount it persistently. So let's run the LSBLK-F so we can copy The UUID right here.
And now I'm going to go ahead and open the f stab.
While Sean's looking at his notes, I've been known to do block ID and redirect with append.
Into FS tab or Etsy FS tab. Go open it in an editor and get the lines I want. You can do that on a VT100. You can't copy paste on a VT100 by default.
Certainly agree with that. All that. Okay, so here we go. I put in the UU, I put UUID equals, then I put the UUID that I copied And then the mount point, which is slash mount slash records, then XFS as the file system type.
Defaults for the mount options and then the pair of zeros at the end that we're not going to worry about for the purposes of expediency.
And once again, these get translated to System D mountain units. So it's a good idea to run system CTL daemon reload after you modify the FS tab.
And now we're going to run mount dash a. And what that's going to do is that's going to mount all the, it's going to try to mount everything that the, I guess the OS knows about to mount.
And that includes reading the FS tab, which gets translated into the system Demounts.
And so if we run our mount Command again, typed into grep. We see that this looks the exact same as it did before when we did the temporary amount, except now we've done it persistently just using the FS table.
And if we touch a second file. Then we see it is there in the drive. And if we reboot, which I'm not going to do for expediency, but if we reboot it, it would come back up. You'll just have to trust me on that one.
And now, how much time are we at? Oh, we're not doing as bad as I thought.
But now we get to talk about logical volume management.
Hooray.
Oh, yay.
Or…
If LVM… Compared to static partitions really can be a godsend.
Okay, so what is it? When it boils down to being an abstraction over the storage devices.
And it provides flexibility, right? You can resize volumes often without even causing a service interruption or having to stop your applications right because You know, for those of us that are familiar with VMs and stuff, you could of course
You know, I mean, on some, you don't even have to power down the VM, right? On some, you can just extend the virtual disk And then, you know.
Partition it or extend the partition and then extend the file system and stuff. But I think for that, you might be incurring, I mean, some scenarios, at least you're going to be incurring downtime for at least part of that, maybe not. Maybe you can get lucky, but LVM is a much more, in my opinion, solid way to do those kind of things without
Necessarily incurring downtime with your applications. Although hopefully you don't.
Really got into that situation Okay.
Is that an AI image in the last slide?
Yeah, of course. Yeah. Yeah, I, you know.
It's Sean.
Yeah.
On the command line, it's just text, right? And so I try to make my slides as colorful as possible for a like a visual break from from uh anyway This slide didn't copyright, so this usually is more colorful But okay. And when I say abstraction over storage devices, if you look at that picture on the right, I mean it. When I'm saying an abstraction, it is a multi…
Layer abstraction over your storage devices so You are certainly paying a complexity cost to get those benefits with all the subtraction.
But it really consists of only three layers. This is physical volumes.
Which get added to volume groups which then you can create logical volumes from the volume groups. And then on top of those logical volumes, you create your file system and mount it.
So let's start at the very bottom. At the very bottom, you'll see we have a picture of a hard drive there.
And for each hard drive you want to add to the volume group, you first create a physical volume.
The physical volume does not have a name. Well, the name is the same as the underlying device, right? So if you have dev SDC, then your physical volume is also going to be called dev SDC.
And then from one or more physical volumes, you create a volume group. And this you do give a name. I think I'm going to use like VG1 or something because I'm so original.
So VG1 is the name of the volume group. And then from that volume group, you can create one or more logical volumes And the logical volumes is what you put file systems on amount.
So looking over here at this example, we're going to start with dev stdc1 Then we're going to create a physical volume.
Can I point out a caveat in the last slide deck?
I haven't stopped it yet, have I?
You might. By default.
When you add PVs to a VG, it is.
Not redundant in any capacity. So depending on how your data is laid out.
If you lose a drive. You lose data.
I did say by default. Lvm gained some RAID capability. It's actually in the ADM under the hood.
But I used to say use MD-ADM to aggregate things. And then LVM.
To subdivide it.
Yeah, I agree with all that. And I did see
Say that again. You said MD admin to aggregate things
Yes. Software RAID. So you have To me, that would be a three drive rate, five. So you could lose any one drive and your data is fine.
Well, you can do raid with LVM now.
Yeah.
Yes. Probably within the last 15 years I've been using LVM for going on close to 25.
Yep. So we're going to take SDC1. We're going to create a physical volume. From that physical we're going to take that physical volume, add it to a volume group vg1 that volume group, we're then going to add to a logical volume lb1
We're going to create a logical volume. And then we're going to mount that logical volume after we add a file system to it.
And this is some of the components that you need, the commands and components you need to worry about.
With LVM and it looks like a lot, but it's really not. It really is not that many.
Because if you look here, the commands are really just changing the first two letters.
So if we look in the orange for the physical volume, all these commands start with PV.
And then if you look for volume group, all these commands start with VG.
And they're all, if you take the first two letters away, they're all the same commands.
So this is pretty cool because that means you can type PV tab tab And it will show you all the commands related to physical volume. Same thing for VG.
Same thing for LV. So it looks like it's a lot to remember, but really it's I don't think it's that much, especially if you have the man pages available, which on the red hat exam you do.
You can just type LV tab tab and then you can do man LV create, whatever you need to do there.
So, you know, I think they've you know, maybe y'all would agree, but I think this is like You know, when people are talking about the Unix philosophy of doing one thing and doing it well I think this is a pretty good example. And I think that
The way that they've organized these commands for the most part, not perfect is pretty good, especially the naming. Now, once you get into the flags, I feel like there's some inconsistencies but The names, at least, they're good.
So we're going to create a logical volume. And if I'm going to break that down into subtasks, it's nine easy steps.
So first, we're going to identify the storage device We're going to create our partitions.
Create a partition, create a physical volume, create a volume group, create a logical volume.
I'm going to show you where the logical volume is on the on the file system or on the uh yeah folder structure, file system hierarchy.
We're going to create a file system on the logical volume. We're going to mount it and we're going to verify That is working.
All right, task one, identify a storage device. So we're going to use dev SDC right here, nothing on it, completely blank.
So if we print dev SDC, we'll see that it's got no partition table, nothing.
Free and clear. Now, we're going to create a partition and Last demo, I showed you kind of the interactive way. This is just the way to do all of it all in one command using part.
So as root, we're going to run parted. We're going to pass a dev SDC.
We're going to make a GPT partition label. Then we're going to make a primary partition. We're going to start it at one megabyte, and we're going to go 100% of the way to the end of the day, the end of the device.
And then since we're doing LVM, I need to set the LVM flag to on. So set, why is there one there?
Oh, yeah, one. So we're going to set on the first partition We're going to set LVM flag to on.
And I think I'm going to do a print next. Yep.
And if we do a print, we see here's the LVM flag right here we see It starts early and ends at the total size of the disk.
And then here's what I was talking about. If you do PV and type and type tab, it'll show all of the physical volume related commands.
We want to create a physical volume. So PV create is probably a good choice for us.
And it's a very simple command. You just type pv create and then you pass it the block device.
And next, I'm going to run PVS, which you can think of as physical volume show.
I mean, that's how I think of it. And it's going to show you your physical volumes.
And here we see dev sdc is a five gigabyte physical volume Next, I'm going to run PV display, physical volume display dev sdc1 And this gives us more information. So we see here the name is the same as the underlying device.
The size is five gigabytes. And… Yeah, that's pretty much the important bit there.
All right. And the same thing now that we have our physical volume, we need to create a volume group.
So I'm going to type VG, hit tab two times And we see all of the volume group related commands.
Once again, we want to create a volume group. So VG create is probably the way for us to go.
Right here. And so I'm going to run vg create And then the name of the volume group that I want, the name I want to give the volume group And then the physical volumes that I want the volume group to be comprised of.
In this case, it's just dev sdc1. And then if we run VGS volume group show is how I think of it. We can see right here VG1 is five gigabytes because we gave it one five gigabyte physical volume.
If we run VG display and pass in the name of our volume group, VG1, we'll get a bunch of output. We see the size is five gigabyte. The physical, I think it says physical, physical extent size is four megabytes.
And yeah. Okay, now we've created our physical volume, we've created our volume group. Now we get to create some logical volume. So once again, LV and typing tab.
And once again, we want to create a logical volume. So lv create is going to be our best bet.
This one, I have to do the dash in. To give it the name. So dash NLV1, that's the name I'm going to do a dash capital L so I can tell it the size that I want it to be.
And I want it to be four gigabytes. And I want this volume to be created from VG1. So from the volume group vg1 create a four gigabyte logical volume named LV1.
Okay, that's kind of how I read that. And then we can do LVS, logical volume show.
And we can see here's our LB1. It's four gigabytes, just like I put here.
If we run an LV display. Once again, we see it's four gigabytes. We see the path.
Which this up here. I guess I should have explained that but But just like how our hard drives and dev SD, whatever.
The logical volume is under dev and then the volume group name and then the logical volume name is where you find that.
You can also find it under dev slash mapper, and I'm going to go into that in a little bit. That's where I prefer to look at them because it's a little simpler.
But anyway, you can see the path here. You can see the logical volume is four gigabytes And what else?
I think that's pretty good. All right. So now if we're trying to locate it, like I said, it's slash dev slash volume group name slash logical volume name.
Is where we can find it. We can see it's pointing to DM2.
We can also find it using the slash dev slash mapper slash volume group dash.
Logical volume name. Isn't it a device mapper or something?
What's DM2?
I think that's what it is. What's that?
It is. It is Device Mapper.
So I like using the mapper place better because if I hit, if I go to dev mapper and I hit tab tab.
There's only like, I don't know, four options here on the system And one of them is the one I'm looking for because I can never remember. I always have problems remembering the stupid names that I give these things.
And so I like just being able to go to slash dev slash mapper and hit tab a bunch of times. And then I'm like, oh, it's right here.
Whereas if I try to find slash dev slash what's the name of this thing again?
I'm going to get all this stuff. And it's a little bit harder to find what I'm looking for here.
So that's just one slight preference I have. To the…
I get your preference and understand. While dealing with some junior admins at prior jobs, I encourage them to use the dev vg1 nomenclature because we were working on complex live systems. And when you're doing tab completion or anything inside the volume group directory.
It only shows things that are in that volume group. So if you have a bunch of different volume groups, it's kind of sequestering. No, you only see these small things and it makes it harder to accidentally act on the wrong thing.
Yeah, that does make sense.
All right. So now that we have our logical volume, we can go ahead and create our file system using makefs again And we're passing the path to the logical volume here.
Once again, this gibberish is I'm sure very important.
Now we're going to go ahead and mount that file system that we just add to the logical volume. So I'm going to do a mount point called or i'm going to make a directory called slash M&T slash evidence.
And then here I'm getting lazy with typing in the F stab. So I'm going to echo the line that I want to add to the F st tab.
So here we have the path to the logical volume. So this is the thing we want to mount.
Then we have the place we want to mount it to, which is slash mnt slash evidence.
We have the file system type, which is XFS is the file system we added.
For mount options, we'll just put defaults and then we have our pair of zeros at the end.
And I'm piping that to a program called t And that's Basically, what this does is that this will append with the dash a flag the standard input to Etsy FS tab.
And I think tea is like, you know, like it's supposed to invoke this kind of thing in your mind. I'm not 100% on that though, but…
Yeah. Regular pipes are one in, one out. T is specifically one in and two out.
Yeah. Yeah, so it doesn't mean anything. It's literally supposed to like invoke the T shape in your mouth. But anyway, here's our line.
In the FS tab. Since we modified the FS tab, we should do a daemon reload And we'll run a mount dash a And now we can verify that the system is mounted. So Hirona lsblk dash f Here we see our evidence.
If I run the mount command and I grip with the dash i which is case insensitive, which is not needed here, but just to Slowly sneak…
Common flags into your brain. I'm going to use it here.
And once again, this is as close to we get in Linux land to plain English right here.
And now I'll go ahead and touch a file into the evidence folder.
And we can read that file. We see it there and so We have successfully created and mounted a logical volume. Yay us.
Now, let's go ahead and extend that logical volume, right? So what we're going to do now is we are going to pretend like that evidence folder is just filled up, right? Like we're investigating some criminal and uh some murder that has happened in some mansion somewhere in some 1970s uh
Board game or something I don't even know when it was. Probably even older than that.
And we're going to feel like we have so much evidence that that logical volume is build up. So what we need to do is we're going to add another physical volume. If you see down here in the bottom right, that thing covered in green.
That's what we're going to do. We're going to add and we have another disc.
So we're going to create another physical volume using dev SDD1.
We're going to add that physical volume to our existing volume group.
Then we're going to expand our logical volume. And we're going to row our file system.
So what are the components we need for extending? Well, for physical volume, there's nothing.
For physical volume, there's nothing new. It's just the same command we already ran before.
For volume group, we need to run vg extend and then for the logical volume we'll run LV extend and to grow the file system, we'll run xfs underscore growfs because that's easy to remember So I'm going to give myself a task, extend logical volume LV1. I'm going to break that down into these eight wonderful steps you see right here.
We're going to inspect the logical volume. We're going to find the storage device dev std We're going to create a partition, create a physical volume, extend the volume group, extend the logical volume, extend the file system, and verify that it has all worked right in the end.
So a much simpler than the nine steps we had last time. This time we're going to have only eight.
Sean, I am glad to see that you're putting your PVs and partitions. I've come behind too many people that do not, particularly when dealing with sands they'll use raw luns.
Really?
Oh, Sands. Okay.
Before you do that, do you have a VGS?
Regios.
We have 10, 24 megs free. On DG1, okay.
That's all Amy thinks.
Okay. That should be…
We only did a four gig partition. So you still have yeah you have They're gig free.
Oh, yeah, yeah. Oh, yeah. Right, right. Okay, yeah, sorry. Okay.
So you can just expand it into that though right Normally. Drive.
You could. That's counter to the task he set out for himself.
Oh my goodness. Y'all, you know, we got to cut some corners so All right, so once again, sneaking some grep knowledge in here. So we're going to run LV display.
And I know the volume group, the task has given me the name of the volume group so I know the volume group is called LV1. So what I'm going to do is I'm going to pipe LV display, which produces an actually a lot of output.
I'm going to pipe that to grep and I'm going to do dash capital A, which means after the match. So after 14 lines after the match, so I'm going to grep For this string, and I'm going to print that match the matching line, and then 14 additional lines
And so here's the string. I found it. And then I printed 14 additional.
So we've inspected the logical volume now. Not a surprise considering we just created it.
But we did see that it's in VG1. This is the important bit of information we gained.
That LV1 is in VG1. And so if we inspect VG1, we see that it's Yeah, it's got four, it's four gigabytes and yeah.
Anyway, let's keep going. All right, identify and inspect a storage device. So we said we're going to use, we have a blank one here, SDD So let's go ahead and use that one.
So if we print out the information for dev SDD, we can see there's no partition table.
And it's completely blank. And now we're going to go ahead and create a partition on SDD.
This is the same thing we did in the last demo, so I'm not going to really go over it.
Also, we need to remember to set the LVM flag on that partition.
I guess that's kind of optional, but I think it's good to do.
And if we print that out, we see the LVM flag.
Has been set on the partition and everything looks good there.
All right, so now we're going to create the physical volume. Once again, this is exactly the same as we did before. The only difference between last time you saw this command is this letter right here.
And if we run PVS, physical volume show, we'll see here's our new physical volume If we run PV display and pass in the new physical volume, we'll see it here, five gigabytes in size. I don't know why I keep
I guess it's just, you know, repetition helps it sink in at sometimes So now we're going to extend the volume group. So first, let's take a look at it. We'll do vg display vg1 We see that currently it's five gigabytes.
And then we're going to run VG extend. The name of the volume group And the physical volume we're going to add to it.
To extend it with. And successfully extended. If we run the VG display command again we can see that now it is 9.99 gigabytes.
Whereas before it was five gigabytes and now it's 9.99 gigabytes.
And yeah, before it had basically one gigabyte free and now it's got about six ish.
Okay, so now that we've extended the volume group, we can extend the logical volume. So I'm going to run LV extend.
Capital L flag tells it that I want it to be nine gigabytes.
And then this is the path to the logical volume. You notice I'm using the mapper path in this demo. I use the other path in the last demo, just trying to show that both work.
And so here we get some nice readable output that the logical volume has changed from four gigabytes to nine gigabytes.
So pretty cool there. And if we run an LV display.
We're going to see it is indeed nine gigabytes. Yep.
Hold for a second. Whoops. Crap. Okay. So what was the capital l
It's the size that you want to
Think about it as the length of the sequence of the sequence of components that logical volumes are made up of.
Okay.
Physical extents, yeah.
Okay.
So yeah, it's just the size and you can give it different units like megabytes or whatever. I think I did gigabytes.
But right here in the man page is right here just the size that you want the size Because you want the logical volume to be?
Okay.
Okay, so now we're going to extend the file system now. So I'm going to do sudo XFS underscore Grow FS, which is Very easy to remember.
You know, this number got bigger. So we have all this gibberish but then we see down here, number got bigger by about double you know so that's probably a good sign.
And now we can verify it by running our favorite lsblkf.
And down here on SDD, we now see that it's in VG1, LV1.
And we can see that it's mounted in the same place. So that looks like a good sign.
I want to call out that you resize while it was mounted.
Historic and that's something XFS supports historically other file systems needed to be unmounted.
To resize.
Okay, cool. Okay.
Thank you. That's a
Would that have destroyed that file?
No, XFS, I believe from the very early days at SGI supported growing while it was mounted.
The tools try to protect you. You really have to force them to hurt yourself.
Xfs is good for that. I've extended many array.
Thank you.
Pretty cool. So we went ahead and touched a new file in the evidence folder just to prove that it's working and then That concludes that demo.
And now we're on to the new stuff. And this is the last bit here, the last few slides.
So this is on Stratus. And Stratus is you know brand new brand new to the point where it only became officially supported on RHEL 9.3.
So for file system technology, that is brand new. And just like LVM, This is an abstraction over storage devices.
And really, stratus Everything that I've seen that you can do with Stratus, you can actually do with LVM.
If you set it up yourself, right? But it comes out of the box with stratus so For example, with Stratus.
Everything is thin. It's thin provision by default, which you can do with LVM if you set it up.
With Stratus, you can do snapshots, which you can do with LVM.
With Stratus, you can do encryption, which you can do with LVM. All of this stuff is doable with LVM.
But they're trying to make it more streamlined and straightforward. In the stratus method. But since it is so brand new, I've never used it in production myself.
I haven't even heard of anybody actually using it in production because you know when it comes to file system technology, you really want it to be around for like a decade and maintain a decent reputation over that decade. And then maybe you'll consider trusting your data with it you know so
You know, it's something people are very cautious about with very good reason right And it only works with XFS. Xfs is the only supported file system with Stratus.
How committed is Red Hat to this? If they find something better a year from now they're going to This is going to fall by the wayside or
I don't know. That's a good question. I did look at the GitHub repo briefly and it seems like they have two or three engineers on it.
I don't know if that really answers your question though. But they do seem to have two or three engineers on it.
And… you know, they have to at least support it for all of RHEL 9's lifetime, which I think is like five more years or something.
Well, four or five, I can't remember exactly
And you can't run ZFS on rail Or you can is just a licensing.
Probably.
Well, I'm sure you can if you add the kernel headers yourself and all that, and I'll do all that stuff.
I don't really know.
With the inability to shrink an XFS, Isn't this going to get us… pinned into a corner occasionally.
I am suspecting Stratus is going to do some things at a higher layer that if you want to shrink something.
It's actually going to create a new component, copy the data between it and remove the larger component.
As long as you got enough room on the disc for that.
And Sean, there's a question in chat.
Yeah, I see. That was a typo. Hopefully there's only one slide.
To point that out. Okay. So yeah, so it's a lot simpler, which I think is the point of Stratus right because That last demo was long. Like I was like running out of breath, just explaining the nine-step process there.
So, you know, it just, it's trying to streamline stuff and be a lot simpler.
I don't, you know, it's going to remain to be seen whether it actually takes off or not It's not, you know, from the comments I've seen online is unlikely Because every snapshot you take, it takes like Even just taking a snapshot where nothing has changed takes like 527 megabytes
Because it's just because it's just That's the size of the XFS, something around. They give some excuse for it on their website but Even a blank snapshot takes 527 megabytes.
It does do copy on right somehow because the snapshots you create can outlive their parent. So it is doing some sort of copyright for sure.
Okay. So it's a lot simpler, right? If you just look at this diagram over here, it's a lot simpler when we compare it to LVM.
It's just the hard drives You put those in a pool and then you create file systems from the pool.
Very simple. And by default, they're thin provisioned. And so what are the components we're going to need here?
Well, there's a package, there's a couple packages called Stratus D and Stratus cli And then there's just one command Stratus. And I spelled it wrong again there too. I'm very good at that.
I have a question. How is… I figure out what it was. How was… What slide are you on?
Snapshots related to copy on write.
Post snapshots related to copy and write. Well, this snapshot That's a good question. So the snapshot is the difference between the underlying file system and or the what you took a snapshot of and what it is now or like when you took the snapshot of what it is now
And so copy on right makes that a lot easier, more feasible, something like that is what I would say.
Not a great answer but not a great answer Maybe better than nothing.
Okay, so I'm going to give myself a task again. Create a file system on Stratus. So first, we're going to have to install the packages.
Then we're going to have to and enable the Stratas D service. Sorry, I was laughing at chat there Then we're going to identify us. Oh, wait, I need to wipe the drives. Hold on.
I forgot about that. Let me wipe the drives real quick.
Talk amongst yourselves.
Do not do this at home. Only a trained professional should…
Sean, while you're doing that i not a jab, but you're talking about you're able to create a file on the file system as evidence.
To me, you should be able to create that file even if your new file system is not mounted. It would just go on the underlying file system.
I'd found that running like df with the path to the directory is a better proof that the file system is mounted.
Okay, DF. Yeah, okay. That's good. Good feedback.
But if I run the mouse command first to prove that it is mounted.
Fair, just writing the file to the directory is not evidence in and of itself.
Yeah.
Oh, just DD, the first sector of the drives to reboot the system.
No, no, no, no. You're trying to get me caught. Nope, not doing it.
Oh, dang it.
Okay. I probably should say as you type those commands, tell us what they're doing.
I'm just wiping the drives in a very uh by the book way, not the way that
Okay.
Your first one you scroll up a little bit. You did a wipe FS on the partition.
Yeah. Yeah, I fixed it down here. I noticed my mistake.
Charlie one, not the drive, Sam David Charlie.
And so, okay, sorry. All of those commands were just to destroy everything back down to just this.
Because we're going to use these two for stratus. And so I just needed to do that real quick. Sorry about the delay Normally there's a, you know, there's a 10 minute break in between there and so
And talk to your hardware vendor. Get a couple more disks added.
Oh, yeah. Very important. All right. Yeah. So the first thing we're going to do is install the packages. So Stratus CLI and CLI I'm pretty sure that would install Stratus D, but I just want to list it here so people can
No, it exists. And then… Yeah, so these two packages, apparently it's written in python No. Well, it's written in Rust, but apparently part of it, the CLI, I think, is written in Python, but the actual underlying thing I'm pretty sure is Rust.
All right, so now that we've installed Stratus D service and Stratus CLI, We're going to do system CTL enable and we're going to pass it in the stratisd.service and by putting the Dash dash now on the end. It's going to start the service immediately as well as enable it for all future reboots.
That's just a way to do enable and start in basically one command.
And if we do an LSBLK, We're going to start with DevSDDC.
And SDDD. And I just wanted to show off or show this.
You know, different people, you know, a lot of newer commands do this where like we run stratus dash dash help, we'll see there are a ton of subcommands.
And so then if we run Stratus, one of the subcommands was pool And so then we can run stratus pool dash dash help.
And once again, there are even more sub commands, right? But they're all inside of this one stratus.
Cli. And so then if we run like status pool create dash dash help then we'll finally see that we're out of sub commands and now all we have is just options.
But it's really just a matter of opinion whether you like you know, PV create, PVS, PV extend. Well, those are all bad examples but like LV extend, you know, whatever.
If you like having a bunch of separate commands to do this stuff.
Or if you like having one kind of overarching command with overarching command a million sub commands and sub subcommands You know, it's really, I think it's just a matter of preference. I see a lot more A lot of modern programs seem to be going this direction more.
And from a developer perspective, I can see why because like You just have one code base And you just put everything in there and that's easier from like a coding perspective. So I see why that might be appealing.
I feel like that's also somewhat more self-documenting command coming behind somebody going, what are you doing here?
It's closer to English.
Yep, I agree with that too. So I just wanted to show that you can use the dash dash help command and that they kind of build on each other like that so All right, let's go ahead and create the pool.
So we're going to run stratus pool create, which is what we were just looking at the help for.
Pool one is the name I'm going to give it. And then these are the two devices that I'm going to pass in.
You don't partition them. At least the, yeah, from what I've seen, you don't partition them first And then we can run stratus block dev list and pass it in the pool name.
And here we can see that we have two block devices in pool one, five gigs each.
And then if we want to create a file system, we run pseudo stratus file system create. So before this was you know pool And now it's file system create.
And we give it the pool name and then the name of the file system that we want to create. So I'm doing FS1.
I don't know.
And then if we do stratus file system list we'll see in pool one, there's a file system called FS1 And I don't understand. The only thing that makes sense to me here is the used.
I don't get this or this. But I'm guessing that has something to do with the thin provisioning.
But it does say 546. Megabytes used. And like I said.
Each Stratus file system, including snapshots, takes a minimum, I think, of 527 or something or I don't know, this number keeps fluctuating, but it's around 550 megabytes is what each file system uses, including snapshots.
And so… Just like we saw with LVM, Instead of doing dev you know dev and the volume group name or whatever, we do dev stratus.
And then the pool name and the file system name. And here's the UUID.
And once again, if we wanted to locate that, we could do an LS on the file system.
We see this one's DM7. We do LSBLK-F.
I'm passing in the actual file Because… The output is a little crazy.
How much stuff they concatenate in this name.
And we'll copy the UUID here. I think we're about to think about mount it so we're going to mount it the file system FS1 we just created to slash mnt slash starships.
So once again, I'll open up the fs tab
See if I have my notes. Yeah. It's been a long day if i've been a long day MT star shows.
All right, defaults and then default Since this, you know, we need the Stratus service running in order for this to work.
So what you can do is you can do x dash System b dot.
Requires equals stratosd.service.
And then our pair of zeros there. Oh, did I miss something?
Have a file system defined there.
Thank you. And like we said before, it only works with xfs So that is the file system.
And yeah, so when it gets converted to a systemd unit, this is just going to have a dependency on the Stratus D.s service.
So I'm just going to go ahead and save that. And the next step is to do a daemon reload.
And then we'll do a mount dash a, which will mount everything the operating system knows how to mount.
Including stuff from the FS tab. And now if we do LSBLK-F, we see this crazy output But we do see… It wraps, but it is mounted at Mount Starship.
And we see that it's About a terabyte, this must be related to the thin provisioning. I don't know.
And if we do amount And we pipe that to grep.
We see that the stratus file system is mounted on starships type xfs
Do you do an FDISC dash l
Please.
I'm looking for…
Down here.
No, I was looking for your pool members, the size of them.
So yeah, C and D right here
Yeah, that one terabyte makes no sense less it's thinking it's going to get 100 to one compression
Yeah, it does have compression by default. I should have mentioned that.
I'm pretty sure that's by default. If not, it can't have it. I know that.
Yeah, I don't know. What was I doing next?
I find it interesting. It's using raw devices, not partitions.
Yeah, yeah, yeah. It's, yeah.
Well, they want it to be simple, right? And not creating partitions is simpler So yeah, file system list, we see it's still there. I'm not sure why that's there.
Who would…
Okay, so now I'm going to dd a bunch of zeros.
To a file and mount starships called the uss enterprise I'm going to do a block size of one megabyte and i'm going to do 1024 uh 1024 of them.
And while this is running, I'll just explain that What is DevZero? It's like a pseudo device But basically reading from this pseudo device will output only zeros as fast as your processor can basically spit them out And this is sometimes used whenever you want to thoroughly wipe a hard drive.
You'll use something like this to overwrite every sector of the hard drive with a zero.
That way you have some confidence that the data is actually destroyed and not retrievable.
There's better ways to do it, but that's sometimes a way that's used.
And now we see that we've created our one gigabyte file.
And mount starships called the USS Enterprise. And if we do stratus file system list.
We can now see that it's 1.53 gigabytes. And so I think what this is trying to prove is that it's then provisioned.
So before it was only using 500 megabytes Now that we've added a one gigabyte file, it's now using 1.5 gigabytes roughly so So that was kind of the thin provisioning part there.
No. Just call it 500 meg versus 1500 meg. It's a thousand meg or one gig difference. There's not really much… I'm not seeing hardly any difference, especially when it's one bite.
Thousands upon thousands of times.
Okay. Yeah, maybe I misspoke there, but
So is there any way to show the compression?
I don't know. I don't have anything planned for that. Sorry.
Do an LS-LS on Enterprise.
S as in Sam.
Okay.
It doesn't think it's a sparse file and it shouldn't be with it's full of zeros.
It's mount sparse.
Would you do… file on dev SDC or DevSDD.
You might need sudo.
Okay.
So at the OS level. I'm not seeing anything evident.
To know that those disks are containing stratus.
Data. I would have advocated for partitions.
And use something like a data partition type and then put stratus in it.
That way, if somebody comes behind you and goes, oh, hey, I have two unused five gig drives, I can just take them and do something in bang goes your starship.
Yeah. I mean, unless you run LSBLK, I guess.
Won't that be dependent on Stratus running?
Let's try.
So LLVM is a part of Stratus. Or it's just the same code base or
I think it uses it under the hood, yeah. I think so.
Because I think Stratus is them trying to take a shortcut, right? If you go to the Stratus website, which I'm not going to pull up right now.
But it literally says their goal with Stratus is to compete with ButterFS and ZFS, right?
But they're not going to you know 20 years developing a competing file system because it would take them 20 years to even get close, right?
So what they're trying to do is they're trying to use lvm XFS, all these existing tried and true technologies And just add a layer on top.
To kind of give that kind of makes it easier to use the advanced like advanced technologies And it looks like the LSBLK is working even with the Service stopped.
Is the… Dr. Ps and see if it's there.
Which, I don't know.
Thank you.
So is there a device mapper directory?
I think so. Well, I mean… Let me calculate this price of that.
All right.
Yeah, right here. Yeah. Let me start it up again before I forget.
Okay. All right. So next.
I think another layer of complexity on top of something that's already complex, I'll be in.
Well, we're teaching sand how to dance.
Yeah. Teaching and how to think is a mistake.
All right.
Okay. So let's just mess with the snapshots now so I'm going to take a snapshot. I'm going to destroy the ESS enterprise.
Then we'll mount the snapshot and restore the data.
So…
Is it both enterprise C and D?
So we'll start by listing the file systems here. We see FS1 is the file system.
Now we're going to take a snapshot. Pseudo stratus, file system instead of create or destroy We're doing snapshot.
And we're going to give it the pool name, the file system name.
And I'm just going to call it Starbase 2114.
Why not DS9? Okay.
I don't like the aesthetic much. All right. So there we go. We got two and they look identical as far as the used size goes.
Catastrophically destroy the data. Oh, man, did that I think stopping the service.
Let me try. Mount Dash, eh?
No offense to you, Sean, but if that did that ouch
Yeah, apparently stopping the service is enough to unmount it Which is… Yeah.
Well, that doesn't surprise me because you're Mount System D unit was dependent on it.
Right. Yeah. Yeah, exactly. So since it has that dependency relationship i probably knew to to stop the mount unit as well.
Okay, but anyway, I mounted it and we're back in business so I'm going to remove the USS Enterprise.
And it's gone. And now what I'm going to do is I'm going to make a directory where we can mount that snapshot.
I'm going to call the directory the same thing as the snapshot.
Original. And so we're going to mount Dev, Stratus, and the name of the pool and then the name of the file system And we're going to mount it on.
That directory we just created, Starbase 2114. If we look, there's our enterprise.
And then if we just copy the enterprise back into the starships
And then we can do an LS and we see that it's restored And now we can unmount the snapshot.
And remove i guess the Mount Point. And then we'll destroy the snapshot.
Using stratus biosystem destroy Then the name of the pool and the name of the file system.
And it's gone. And in the demonstration and end of presentation.
So… That is all. Any questions? That was a long one.
Thank you for doing it.
Yeah, really? Some folks might find it interesting and looks Stratus is written in Rust.
Okay.
Sean, can you confirm that?
Yes, I'm pretty sure it's, yeah, it's the Yeah, parts of it are written in Larust and parts are in Python. Let me pull up the GitHub.
The other thing you could do is uninstall what you installed before and just reinstall the stratus stamen. And have it clear out the auto installed packages that are no longer needed between.
And see if it's going to pull the Python stuff back in.
Did that make sense?
Sorry, I was distracted getting these links. But yeah, it is written in Rust. I just put the GitHub.
The link to the GitHub. Did you want me to share my screen and try something?
I was just saying, I think you could uninstall the Stratus CLI and the Stratus daemon And the additional dependencies that were pulled in.
And then reinstall the Stratus daemon. And see if it was going to pull Python stuff back in.
Oh. Yeah, or just look at the GitHub and see it's written in Rust. Sorry, I am tired. I had a long day.
I know you're.
Sean, there was a question from… Tony C, is this outdated?
Let's see.
The Wikipedia page. It says it's not… It says it's just a user space configuration, Damon.
Oh, okay. So you're asking if the… the daemon that you mentioned there in the
Well, it's Stratus, right? This is the same stratus that we're talking about, right? That's the Wikipedia page.
It says it was started in 2018.
Seems right to me.
So you're saying this is a file system, but it's just a daemon
Okay.
There's not a file system. It uses XFS. I think that's right what it says here. It says it configures and monitors existing components like LVM, XFS, via D bus. I think that's accurate.
Okay, thanks.
Like I said, I think they're using common tools under the hood and just trying to string them together in a way that's trying to provide You know.
Features like ZFS, which is very uphill battle, right? Which I think is why a lot of people are skeptical if it will work or not.
If you still have things set up and running, I'd be interested in a Stratus volume mounted I'd be interested to see like a pd or a VG or LV display.
Or the S variant instead of display.
Yeah, it's not listed.
And it's still mounted.
So…
Yeah, I hear.
Lvs.
Okay. Is it playing with…
I don't know.
I don't think mount namespaces would change what PD, LV, et cetera, would see.
Ron has a question in chat.
Why not just use ZFS? Yeah, well, I'm sure. See, Rel, I feel like rel is a red hat is very afraid of that license.
So when I said, I made a joke earlier that ZFS is the best file system you can't use because of the license, right? And I feel like in rel world where you're a company and you have lawyers that can come after you and the United States of America.
That is true. For some reason for Ubuntu, it's not true, right?
Well, REL is one thing. Think about RHEL's owning company.
Right. Right, exactly.
Big IBM. They are not going to do anything to provoke anybody's lawyers.
Where's ZFS licensed? Is it Oracle?
Yeah. I think there's actually open source, but it's cdl licensing, I believe.
And something about it. And GNU.
Are not perfectly compatible.
Yeah, they seem quite… similar in spirit but not in the letter of the law.
Yeah.
I'm kind of glad that Ubuntu or Canonical went ahead and said To hell with it. Let's try it out. Let's distribute this and uh It's made ZFS kind of a first class citizen on Linux or Linux a first-class platform for ZFS these days
But yeah, with Oracle's… See, the thing is with Oracle's litigiousness I could see red hat not installing it But… For us, for average folks, for most small to medium businesses install it. Why deprive yourself of having the best file system
Well…
For really the licensing doesn't seem that significant. It's unlikely that they're going to go after mom and pop style shops and stuff.
And think of a more germane reason for some of the business customers I've supported.
It's not fear of Oracle. It's getting first class support from Red Hat. If you call Red Hat and say, I'm having problems with this application and it's living on ZFS, they're going to say, no, thank you. Have a good day.
Yeah, okay. So for the red hat… paying customers, I guess… Sure, but I don't understand why anybody else that's not a paying red hat.
Customer would look to anything else it just Doesn't seem to make sense.
I think it has to do
Right. I guess the real question is, why would you… would you pay red hat or would you pay somebody like TrueDAS or… What's the other one?
Unraid to do your storage solution. And why are you selecting one of those three vendors.
To me.
Most companies just want somebody to call up complain to when their solution fails.
Oh.
Zfs isn't just about your bulk storage. Back ends. I see tremendous value in zfs on almost all systems in the fleet.
So you can do a snapshot and then send the snapshot from the edge servers back to your backend storage and do zfs receives So there's a benefit to having ZFS a whole bunch of places And I'm not going to try to run
The year. The main
My little wear on proofs.
Right. I mean, what they're going to do is what i what i'm trying to move to on my stack.
I have a true NAS box that runs ZFS and it runs the storage scott Something like… 30 drives attached to it.
And then I have on other systems currently tweaking with diet pi talking to you back either via email NFS or via iSCSI to utilize those disks locally for their virtualization.
So Ron, you're saying, well, you know, why would you Why would you pay rent hat?
Or they're wrong.
You're sharing the question.
No, I was talking to Ron.
Well, if you're paying Red Hat for support, then I can see using something that's not ZFS if Red Hat's not supporting it But if you're not paying, if you're not a paying customer of red hat and you're looking for some advanced
File system, then I don't see there being any other choices but said FS?
These are really, really enterprises that use Red Hat that are not paying customers? That seems contradictory. Why would you use Red Hat and risk them coming down at you?
Since then.
I think he's talking about non-enterprises.
Yeah, I mean, if you're a red hat and you're a customer and you're paying them, I don't care, you know.
Just your money, do whatever. But I don't think most people here are… CTOs of major enterprises.
Let the bull be under the bus with us.
So for us For most of us ZFS seems like the obvious choice for a very advanced file system with things like, you know, like Grant was saying with sending and receiving You know, you rename a multi gigabyte file Well, your rsync is going to look at that and say, oh, you've got a new multi gigabyte file that we have to send across the network, whereas ZFS is just going to say.
Just one block of information has changed. That's it you know It's got so many advantages to it.
For a long time prior to canonical officially supporting it.
Getting ZFS working on Linux was not for the faint of heart. It wasn't hard, but it certainly was not easy.
And at storage Unless you have multiple additional block devices to play with.
Storage is kind of one of those things of you set it up, you kind of leave it alone and you play with other things on top of it.
It's kind of like most people don't repartition or resize partitions.
Right. Right. How long?
Very often.
Yep, it's kind of a thing you definitely don't want to have to keep tweaking.
So Grant, what is the ZFS presentation that you're going to do?
Next month.
Whenever you do it.
How long is… Free Naz has been around.
I know.
At least 2005
I'm sorry, that's kind of garbled. Say that again, please.
I think he said free NAS has been running zfs for a long time.
Freeman has been… been the distribution has been trying to that was basically pushing ZFS is a solution.
I think it's been running on FreeBSD since, what, 2005 at least?
Then there's the elephant in the room that is now Illuminos and the likes, which used to be open Solaris, which was a spin of solaris.
Right.
Which is where it came from. Bsds have been running, or at least free BSD, I don't know if net or open has it.
For many years but ZFS.
That their code that they're using is open ZFS.
Right.
And the primary development for that is on Linux now.
Right. And that's the big thing that ran the trina slash Freeman's world has been dealing with is that the vendor that vendor has switched from using the our free BSD version.
Openzfs. To using Debian OpenZ FS.
Libraries itself for the product base.
I was…
So when you move from TrueNAS Core to TrueNAS scale. Literally remove FreeBSD and install Debian.
Okay, that may be the case for them. But my understanding, FreeBSD proper.
Like FreeBSD.org. The ZFS code that is in the FreeBSD kernel is open ZFS.
Right.
Right. And that's what And that's what TrueNet is.
Core is, is basically TrueNAS took the zfen CFS.
Libraries in FreeBSC created a GUI to sit on top of it to manage that stuff.
Okay.
Oh.
By the way, Tyler, an FYI, there's something going on with your microphone. It's getting very And we're understanding you, but it's getting a little bit garbled
Three by five.
But yeah, that's My experience with ZFS is that TrueNAS.
Has been running it forever has ever been running it A TrueNAS is a FreeBSD appliance that you install it installs free sbd It sets up all ZFS and ties together all your disks together in a ZFS.
Pool, which gives you the redundancy the traditional rate would give you.
And then all the snapshots and all that stuff that sits on top of it.
Yeah.
So it's been running and proven forever.
Oh, yeah. Do you want to see how I did my demos?
What the… Yeah, nobody else cares, so I appreciate y'all.
Yeah, I was curious about that.
Okay. So what's going on here?
So basically the crux of this, and this is the code that's in my bash rc The crux of this is Where is it? It's up uh up here.
So read line, line. This is the variable right here. Read line, line.
Is your prompt. So what I do is I have a file and it's got each command that I want to run and it puts the next line.
From that file into read line And that makes it appear as if it's on the prompt. And then read line point is where my curse Cursor, is that the right word where my carrot carrot is that the right word? It is?
And so that's the length of the line. So at the end of the line is where it puts puts the input type thingy thing.
Okay.
The point. And you can only access, this is the part that took me forever, well, longer than I'd like to admit to figure out These variables for some reason only work in this bind.
So you have to do keyboard shortcuts or else it won't work. And this is what took me longer than I want to admit to figure out is it only works in find keyboard findings.
But I just have, and then on top of that, I just have a variable for the current line. So that's how it keeps it in a variable, what line I'm currently on.
So every time I push that keyboard shortcut, it's like okay I'm on line 10. Let's go to line 11.
Or whatever. Or, well, that's this one. Next command index so it's like starts off at one and every time I do it, it increments this variable Every time I push the command and then I have a command that'll scroll backwards up
Two, if I like mess up and need to go up.
Command and then what else? I think that's it. I think that's all the important bits.
Interesting.
So I guess I have some pretty thing where it's like, so in my file if i do uh If I do this on the first characters, then it knows that's a section heading and that's how I was printing out those section headings. It's just a little special handling here.
So we could look at one of those real quick.
So you see here, this is like the sections. Whenever I do that, that's when it's going to put it in those uh
Mm-hmm.
Yeah. And then I just record it with a cinema. And post it online.
Interesting.
What has really made this presentation good is the you and allowing the side channel or digressions from your presentations It is really added to my understanding of the logical volume management stuff.
Well, he's presenting and talking with us.
Right. Excellent.
Talking at us. And that is a tremendous difference to me.
Been very positive.
Yes. It's a lot more fun that way too instead of just going through because when I do it for class, nobody talks right so what you're missing and what I also have, because nobody was talking in my class So what I also have is I have a student selector
And so I can select one of my students at random. This is just their first name, so hopefully you won't know who they are just from their first name.
But then additionally I can… If they don't have their camera on because it's a Zoom class, if they don't have their camera on.
When they're supposed to, I can type in their name. And then if I type in their name as an input parameter, it adds them to the list twice and they're twice as likely to be selected from the random list.
There's everybody else. And so two people whose cameras were broken mirically you know miraculously were fixed once I came up with this script and did the twice as likely thing.
So, yeah, anyway. I'm having fun with the class, so.
Are you enjoying the teaching people that have… It's a little experience.
Yeah, no, that's good. I like it. It is a slog to prepare all the content, you know, because I really don't I was kind of hoping that somebody else would have done like the slides that you saw me do and the presentations and stuff, but no, apparently.
Apparently other people or the people that have taught this before me didn't really have anything like that, at least nothing that they passed down to Are they nothing they uploaded to the school servers and so I'm having to come up with all the slides and demos and all that stuff myself every week. So it's a lot.
I do like it, though. It's fun.
Are you finding… that questions come up that test your understanding of things and is it enhancing your overall understanding to be able to help them.
Ah.
Nope. Nope. No questions. They just listen and Silently. Yeah, I know. That's why it was refreshing for this group asking questions and me not answering them well, like Tony got me at one point something about snapshots. I'm like, let me make something up here.
I don't know is a perfectly valid answer.
My preference is you to say, I don't know, but I think.
But what if I can take a guess instead?
Or something like that.
Yeah.
Yeah, yeah, that's true. And I like to end the class. I mean, I don't want to make this all about my stupid class, but I like to end it with just like, I try to tell them like, I just want to have a conversation at the end, you know?
Because I've been in the IT industry like 15 years now, and I want to try to like pass my experience on, but how do you do that right It's like, hey, for the next 10 minutes, I'm going to tell you experience. It can't just happen like that. So I try to get a conversation going at the end.
And have them ask me questions. It'll kind of pull out stories and stuff because I feel like that's the best way to So I'll usually have some kind of conversation topic, right? And what I'm really trying to hammer into them that
You know, we in the IT field are knowledge workers right like we get paid an above average salary because of what we know, not because of anything we can like do physically right because If you watch somebody physically doing IT work, it's like drinking coffee, typing and clicking. It's nothing impressive, right?
Oh.
But it's because of what we know why we get paid more than more than other people. And so, you know, I realized that's something I realized like way too late And so I'm just trying to drill it in As much as I can, because I think it's just so important to understand the more you know, the more, you know, the better your things will go for you in your career you know
That and the work.
Editor's comment, just in case anybody from HR is listening to this. Of course, everything Sean just said about what an IT person does
Let alone the work that is displaced or displaced not required anymore when required Because the hardware and software that we're using is operating.
Well, yes, there's a lot of things that are simpler now.
But when it breaks, you have to have some modicum of understanding of what's happening behind the scenes.
Okay. Oh, I had that this morning. I have a server that runs Django that does the There's three or four things that are required by human security when a computer gets created on our network.
Last night I stopped talking to the internet. One of the things it has to do is it has to talk to our ticketing system on the internet.
So I respect… Good morning, sitting there going.
Can you touch Google? Can you touch Google? And once it came back, I had to go back through and say, okay.
Now that I can touch Google without going through the proxy server, what do I have to remove?
I had like five or six different things that I had to go through Remove out of bash rc scripts and service startups to remove the requirement for my Python code to talk to the internet because it no longer had to go through a proxy server.
I didn't remember where all that stuff was. Because this code offset work that people would normally have to do by hand because Somebody says, this has to be in this system and this has to be in this system and this has to be in this system.
It's much easier for a Python script to go plunk that stuff where it needs to go than it is for any of my… So.
Less likely to have errors too.
Yeah. Awesome.
Are we ready to end the session? Recording.
Terry, Sean, are we ready to end the recording?
I was just asking, just asking.
No, no, no, no. Something… Yep, I know. Yeah, in the chat, Eric just said uh is the presentation for these beginners meetings available afterwards like they are for other SLUG meetings. And yes.
This has been being recorded and it will be put on our archive and Stan, I believe it also will go on YouTube.
Well, Sean has been putting them on YouTube. I hadn't put any on YouTube lately.
Okay. Okay.
That was going to be part of the the complete transition over to the new site we just kind of in hiatus right now, I think.
Okay.
Okay, so the answer is, yes, it has been recorded. Yes.
Well, this has been recorded, but what was the question? The new beginner stuff?
No, the newcomer, the new… Linux user group like next Tuesday. I record that for my purposes, but that does not get posted up on the internet.
Neither does a Slack meeting.
Well, the question was, is the presentations for this meeting being of
Oh, yes. Oh, yes. It'll be posted. He'll be up on our old current presentation archives. It'll be available there.
I guess I need to start tracking down what's posted up on… I mean, excuse me, up on… YouTube.
Sorry, I forgot that term is intermingled.
You got a thank you from Eric and uh Also, someone sent a heart.
Okay.
I got a broader question. So Stratus.
Was originally started its development from Red Hat.
Does it only… function on Red Hat systems are going to be placed on any Linux system?
I think it can run. I mean, I don't know where it's packaged for, like what operating systems it's easily packaged for but My hunch is, you know, since it seems to use lvm XFS and DBUS.
Those are on all Linux systems, I think, are available on all Linux systems so I feel like it could run anywhere if it was packaged.
Yeah.
Oh, I guess you'd need system D. So that's another requirement. But yeah, I feel like which is you know
I didn't see anything that System D looked like a hard requirement.
But it looked very integrated with and like your uphill battle would be steeper without system knee.
Well, I mean…
Okay. And apparently then there's no uh no licensing problem.
Of putting it on something other than Red Hat.
It's a GPL v3 project.
Yeah, anything on GitHub, right, is probably going to be if it's built for Linux, it's probably going to be available you want to jump through. If you jump through enough hoops, you can get anywhere, right?
It really feels like something red hat. Helped put together as a back end for some of their other virtualization offerings.
I probably needed it for OpenShift.
And I believe Tyler said. Probably because they needed it for OpenShift.
Did we ever get a presentation on OpenShift? I don't remember.
I don't know. It's a flavor of Kubernetes. So if we did get a presentation, it'd probably be all over my, it'd be over my head.
Well, I think I'm going to Say, have a good night, gentlemen.
Oh, thank you, Tyler. Much appreciated. And hopefully your microphone will get a new battery.
That was great.
Well, that was Grant. I'm sorry. You're right. Yeah. Okay, let's see.
Any other questions directed at our… at our particular topic here tonight from Sean.
While people are thinking of that before we close down, I will point out that coming up, and I think I mentioned this before.
The main topic at the general meeting on Wednesday night next month Grant, not Grant, Scott Graneman.
Talking about eight things that he's eight things found nifty solutions.
By asking chat GPT. So… That's going to be the main topic. Somewhere coming up in the future.
And I don't have an exact date yet. We'll have somebody who has spoken to us before.
He has been a BSD user for the last two or three years.
And really hasn't done much in Linux. But now he's got a need. He's building a box And so he's he's… going to move back into doing something with Linux. And so we're planning on him doing a Hey, what his experience has been coming back
After being a BSD user and he's using not macOS BSD, but just free BSD. And so what it's like, what surprises him what are the differences that, oh, gee, I forgot Linux does it this way. So it'll just be kind of a different view of
Coming back into the Linux world. But I don't have an exact date for that yet.
Stay tuned.
Also, next Tuesday is the new Linux users group. And the first Thursday of the next month will be the Slack meeting.
Very good.
Those are both both free format No presentations.
Come with your questions. And… more questions that are asked and more answers that are given.
Okay.
Also, we don't have an exact topic yet, but many of you remember Craig Bucheck with our organization for a long time.
Used to live here in St. Louis, moved to California a few years ago and uh um He's planning on doing a presentation for us.
I believe it's may be in May But we don't have an exact topic or date.
Hammered down yet. So expect Craig somewhere in May. Once again, anybody have any final questions on Tonight's topic.
Hearing none, anybody have any just general Q&A? What you've been doing, what went wrong this week, what went right this week.
But nobody's worked with… Kubernetes lately.
You said nobody's worked with Kubernetes lately.
Has anybody worked with Kubernetes lately?
Oh, has anyone worked with Kubernetes lately?
Buy a new battery.
I'll switch headsets.
And I got to head out, but the… the slides are…
I'm not hearing anybody. You want to say something about Kubernetes, Sean?
No, not about Kubernetes. I was just saying I got to head out, but the slides are 18 megabytes.
Wait.
Big. I'm not going to be able to email those to the slug. It's going to block them out so They're 18 megabytes because all the pictures and videos and stuff in it so I'm not going to be able to send those over, Stan.
We'll…
What's that wormhole thing? You use that wormhole thing?
Oh, you want me to upload it to Bach instead? I could just upload it straight there, I guess.
Yeah, you do that. All right.
Okay, sorry, no takers on the Kubernetes comment, it sounds like.
Shut the recording. Book end, bookend.
With that. I think it may be time. Hearing hearing nobody Having anything else to say? The bookend for the recording on this meeting. This is… The St. Louis Linux user group, the St. Louis lug uh which is part of SLUG.
Today's date was Thursday, February the 20th, 2025. Our speaker tonight was Sean Tweehouse.
And he was talking to us about Oh, God, why I can't remember this from one minute to next.
Radish.
Stratus.
What's the proper name of the software? Stratus. There we go. Stratus and how neat it makes it to… do volume management and uh That's a nice demon for doing all these things. So with that, thank you all for coming tonight and
We will hopefully see you next week at the new users meeting.