In this video, Kevin Dankwardt discusses cluster file systems and concepts including GFS2 and CLVM. He demonstrates the RPM packages involved in GFS2 and CLVM on Centos 7. He shows the commands for the daemons and the loadable kernel module for GFS2.
- [Instructor] Cluster file systems can be thought of as a little bit different than distributive file systems. The idea is a file system for use by a cluster of computers. So they're sharing a file system and the file system is spread out among other systems, typically. And because we have a number of systems, we need to make sure we have good performance, parallelism, liability, and files can be shared between servers.
And you can think of a file system where really the participants are peers and they each can be providing some of the file system, for example. For Linux, a common solution is gfs2. This is a standard native file system on Linux. It's in the Linux kernel. Now there's lots of system calls that do file operations and so forth, so you have to be aware that behavior for things might be a little bit different when everything's not local.
For example, you can check out the Wikipedia article, they discuss some examples there. And you can get a good overview of gfs2 in section five of the manual. Because it's a standard sort of file system, the usual fsck, the file system check, and mounting, so forth, is the same. For gfs2, you can think of the idea being, the design is a collection of clients clustered around a shared storage device. That's what the red hat documentation calls it.
That shared storage device should provide, really, resiliency and parallelism and performance and scalability and so forth. Oracle has a cluster file system that really requires Oracle's Linux to run. Folks have installed it on CentOS, but you need the Oracle kernel, so it's really not a great fit. But if you're using NonStop Linux from Oracle, then you want to be aware of it.
Another important component in clustering for Linux, especially with red hat flavors, is the cluster logical volume manger that comes from the lvm2-cluster. So this is lvm stuff with additional support for clustering. What happens is, is you run the clvmd daemon on all the nodes, and they talk to each other, and they share the metadata info.
So this providing shared storage for all these nodes that are working together. But you still do lvm commands, like created a volume group and so forth, in the normal way. Again, setting up gfs2 and clvm are kind of long processes, but we can take a little look at what is involved in the packages.
Gfs2 is a native sort of file system. That means there's support in the usual kind of way in the kernel. In fact, there's a loadable kernel module that implements the operations for gfs2 just like there is for exd4 and xfs and so forth. If we look for the loadable kernel module, kernel modules are .ko, kernel objects, we see there it is underneath the directory where kernel module is for the kernel are.
You won't find that for fuse based file systems. And we can double check, if we want to see which rpm provided that .ko file. That verifies that it came from the kernel package. So you get the support for gfs2 just by installing the kernel. But you still need commands, so forth. Like you need the make utility.
The mkfs.gfs2 comes from the gfs2 utils. So you'll need that package. I want to get an idea of what does that packet provide. We can do a query list on that. And we see it provides the fsck and some other utilities like inverting and growing and documentation, a bunch of command pages and so forth.
Clvm is a daemon. Clvmd. So we can check out where that comes from. And we see it comes from the lvm2 cluster. So that name makes it clear that this is clustering with lvm. And if we look at what does that packet provide, we can get a list, we see it's only a couple things. It's the daemon and the man page for the daemon.
So that should give you some help in getting started with working with gfs2 and clvmd. Good luck.
- Partitioning storage
- Creating, mounting, and unmounting file systems
- Formatting file systems
- Making volumes with LVM
- Adding storage security
- Managing swap spaces
- Backing up and recovering Linux storage systems
- Working with networked file systems like NFS and SSHFS