Event: https://blazingraptor.com/iscsi-maintenance-plan.html
Slack Channel: #iscsi-maintenance-plan-for-private-customer
Related Tickets: PRIVATE
Plan Ownership: @bcorson
The Problem: web03.PRIVATE.com & web04.PRIVATE.com are running out of space. You can see the issue here
[root@web03 ~]# df -h Filesystem Size Used Avail Use% Mounted on (truncated output) /dev/sdd1 2.6T 2.4T 151G 95% /var/www/vhosts
Unlike a lot of our other setups, that use the NATAPP SAN, this setup has it's own dedicated SAN. This is a product that we no longer offer. You can see the SAN on iscsi01.PRIVATE.com & iscsi02.PRIVATE.com
[Pacemaker: online | DRBD: Primary Connected] [root@iscsi01.PRIVATE.com ~] [20:19:23]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT (truncated output) | |-vg_shared-pool00-tpool 253:3 0 2.6T 0 lvm
Notice how both show the size being 2.6 TB? And notice it's 95% full. Once it gets to 100% full, things will start crashing.
We need to upgrade the drives in the backing servers (iscsi01.PRIVATE.com / iscsi02.PRIVATE.com) and resize the SAN on iscsi01.PRIVATE.com / iscsi02.PRIVATE.com.
Notes:
6-8hr depends on how long the DRDB data sync takes during the iSCSI Upgrade.
Longer event windows means fewer nights of maintenance.
Fewer hours of Degraded High-Availability Services (No Automatic Failovers)
Summary:
Date 1 - We are making a backup of the website vhost data just in case anything goes wrong
Date 2: - We are replacing and resizing the drives.
Customer:
[ ] Plan Approval: Plan - 6-8hr Maintenance Event Windows (2 Nights)
[ ] Approved time slot: 11pm
[ ] Approved date slots: 11-24-2024
#linux-sysadmins:
[ ] Resize the SAN:
#dcops:
[ ] Replace the drives
@DCOPS - Will be on hand to swap drives at the appropriate time slots during the Day 2 iSCSI Drive Upgrades. They will be available for 1hr starting at Midnight of Day 2 and 1 hr at 4AM. They will be swapping drivees only, no data copy, no raid setup. ESGs will handle the entirety of the configuration of the new drives and copying of the DRDB data . Each server runs a 4 x 1.92TB SW RAID10 upgrading to 4 x 3.8 TB. The SW RAID is md100 and existing drives are: sda sdb sdc sdd
@Linux-Sysadmins - The detailed instructions are below for the disk capacity upgrade of the HA iSCSI cluster and follow-up webserver (OCFS2 Cluster) maintenance related to this event. We have to upgrade the HA iSCSI cluster before we can upgrade the OCFS2 cluster. Due to the time constraints with syncing DRBD data on iscsi01/02, we may need to split the OCFS2 cluster upgrade into a separate maintenance event.
NOTE: We don't use IPMI fencing on these so don't worry about that when you see it in the pcs status
NOTE: We don't use zbindfs on these.
References:
Required for Day 2 Readiness - Run on Web03 ONLY
A. We must run an initial rsync backup and schedule a follow-up "catchup" rsync for several hours prior to "Day 2b- HA-iSCSI Cluster Drive Upgrades"
B. Execute Initial Backup
Before you begin, make sure we have space for the backup. If you see below, We're using 2.4 TB of disk space on the /var/www/vhosts. That means we need at least 2.4 TB of free disk space on /drive3. We were supposed to have upgraded drive3 before we started this maintenance.
[root@web03 ~]# df -h | grep -E '(Filesystem|drive3|vhosts)' Filesystem Size Used Avail Use% Mounted on /dev/sdc1 1.8T 1.2T 595G 66% /drive3 /dev/sdd1 2.6T 2.4T 151G 95% /var/www/vhosts
Also, if you look in drive3, you'll already see a really old backup from 2022, this can be deleted
[root@web03 ~]# stat /drive3/OCFS2_Backup/vhosts;ls /drive3/OCFS2_Backup/vhosts File: ‘/drive3/OCFS2_Backup/vhosts’ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 821h/2081d Inode: 57671682 Links: 14 Access: (2755/drwxr-sr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2024-11-13 05:53:32.495466126 -0500 Modify: 2022-12-05 04:50:34.283013778 -0500 Change: 2022-12-05 19:55:44.993560492 -0500 Birth: - new www.ipsumlorem.com www.parturientmontes.com test www.consectetur.com www.sitametconsectetur.com test.bak.txt www.nullamidolor.com www.ridiculusmus.com tools www.euleo.com www.metusac.com www.seddoeum.com www.adipiscingelit.org www.ametconsectetur.com
Go ahead and make a new backup
time rsync -aH --info=progress2 --no-inc-recursive --log-file=/root/rsync-vhosts.txt /var/www/vhosts/ /drive3/OCFS2_Backup/vhosts/
[ ] Initial Backup Started on web03
[ ] Initial Backup Completed on web03
A. Execute Catchup Backup - several hours prior to "Day 2b- HA-iSCSI Cluster Drive Upgrades"
time rsync -aH --info=progress2 --no-inc-recursive --log-file=/root/rsync-vhosts-catchup.txt /var/www/vhosts/ /drive3/OCFS2_Backup/vhosts/
[ ] Initial Backup Started on web03
[ ] Initial Backup Completed on web03
Note: An Important Distinction - Please Upgrade iscsi01 First
The plan as written expects to upgrade the drives on iscsi01 FIRST. To avoid problems down the plan, make sure we start from the state that iscsi01 is secondary. Start with a failover if necessary to make iscsi01 the secondary node (if it is not already). This first section will guide you through failover if it is needed.
On iscsi01.PRIVATE.com only (secondary)
Very Important
DO NOT PROCEED unless DRDB STATUS shows "UpToDate" for BOTH SERVERS
A. The command prompt will identify as primary or secondary OR you can check the DRDB status by running this on both nodes:
hostname; drbdadm status
Example Output shows iscsi01 as the secondary node:
iscsi01.PRIVATE.com shared role:Secondary disk:UpToDate peer role:Primary replication:Established peer-disk:UpToDate
DO NOT PROCEED unless is iscsi01.PRIVATE.com secondary
B. Put the host in standby
pcs cluster standby iscsi01.PRIVATE.com
C. Make sure no services are running on the secondary server
pcs status
D. Additionally you should see the command line prompt will now show the following to reflect it is in standby
[Pacemaker: standby | DRBD: disconnected]
E. Confirm/Disable DRBD so it doesn't try to start on boot (should already be but good to check)
systemctl disable drbd
F. Shutdown the server
poweroff
G. Let #DCOPS know they can proceed with replacing the drives on iscsi01 with new ones.
They should not be partitioned, or added into the SW RAID, and they should NOT copy any data from the old drives. ESGs will handle partitioning and raiding the new drives.
Continuing still on iscsi01.PRIVATE.com only (secondary)
A. Perform a server reboot on iscsi01 prior to running through the next steps. This is to check that the wrong drives have not been wiped/altered.
B. Check the new drives to verify the names. Should be: sda, sdb, sdc, sdd based on the other server but you never know so it's always good to double-check the names. We also need to double-check that the drives are unpartitioned.
lsblk --output NAME,SIZE,TYPE,FSTYPE,LABEL|column -t
Note: If lsblk says they are partitioned you will need to run wipefs on the relevant 3.8TB drives before proceeding.
lwipefs --all /dev/sdX
Reboot to make sure everything is still good after the wipe
reboot
C. Repeat this for each of the drives that were replaced.
Replace $DRIVE with /dev/sda
Replace $LABEL with a unique identifier ($HOSTNAME:100 works and is what is used on the old drives.)
parted $DRIVE mklabel gpt parted $DRIVE mkpart $LABEL 2048s "80%"
THE COMMAND BELOW WILL GENERATE YOUR PARTED/MDADM COMMANDS IN THE CORRECT ORDER (It will only print commands not execute them)
For DISKS if your drives are not sequential ie. {a..d}, you can specify them in a CSV list instead: eg. {e,g,s,t}
LABEL=$HOSTNAME:100 DISKS=$(echo /dev/sd{a..d}) unset PARTS; for DRIVE in $DISKS; do echo; echo "#Partition $DRIVE"; echo parted $DRIVE mklabel gpt; echo parted $DRIVE mkpart $LABEL 2048s \"80%\"; PARTS="$PARTS ${DRIVE}1"; done; echo; echo "#Create the new MD100 SW RAID"; echo "mdadm --create /dev/md100 --bitmap=internal --metadata=1.2 --level 10 --raid-disks 4 $PARTS"; echo
Below is an example mdadm command in case the one generated above somehow fails. The key difference is this command versus the others is that the specification of partition 1 on each drive.
mdadm --create /dev/md100 --bitmap=internal --metadata=1.2 --level 10 --raid-disks 4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
D. Create the new DRBD volume
drbdadm create-md shared/0
E. Take iscsi01 out of standby
pcs cluster unstandby iscsi01
F. (OPTIONAL) If the DRBD resync is very slow. You can speed up the DRBD sync by running the following:
drbdadm disk-options --c-plan-ahead=0 --resync-rate=1000M shared drbdadm net-options --max-epoch-size=8000 --max-buffers=8000 shared
G. At this point we just have to wait until DRBD has finished syncing. Watch it with either of these commands:
watch -n 5 cat /proc/drbd
OR
watch -n 5 'drbdadm status'
H. Once DRBD has finished syncing up move to Step 3.A.
A. Let the customer know we are ready to failover in the ticket
B. Update DCOPS of the same once we are close to the maintenance time.
C. Once we are ready to failover from iscsi02.PRIVATE.com to iscsi01.PRIVATE.com move on to #4
(On iscs02.PRIVATE.com only)
A. Verify DRBD is in sync before doing anything else. Watch it with either of these commands:
watch -n 5 cat /proc/drbd
OR
watch -n 5 'drbdadm status'
If DRBD is showing UpToDate then proceed with part B below
B. Put the host in standby
pcs cluster standby iscsi02.PRIVATE.com
Wait for it to failover to iscsi01 and make sure no services are running on the now secondary server iscsi02
pcs status
C. Additionally you should see the command line prompt will now show the following to reflect it is in standby
[Pacemaker: standby | DRBD: disconnected]
D. Disable DRBD so it doesn't try to start on boot (should already be but good to check)
systemctl disable drbd
E. Shutdown the server
poweroff
F. Let DCOPS know they can proceed with replacing the drives on iscsi02 with new ones. They should not be partitioned or added into the software RAID.
Should not need to stop anything for that to work. Iscsi will replay any paused commands once the fail over happens. It is OK to have it there to show what to do if there are issues, but should not be needed.
(web03.PRIVATE.com and web04.PRIVATE.com only)
A. Most likely we just need to do the following.
We will resize the OCFS2 volume and clean up the derelict hosts later in this plan here: Day 2 - MFR:OCFS2 Cluster Upgrade."
iscsiadm -m node iqn.1997-08.com.PRIVATE.iscsi01-02:vhosts --logout iscsiadm -m node iqn.1997-08.com.PRIVATE.iscsi01-02:vhosts --login
In the event the logout/login method above doesn't work - you may also need to do the following otherwise your done with this section.
B. Let OCC know that we are doing maintenance on these
web03.PRIVATE.com and web04.PRIVATE.com
C. On BOTH web03 and web04 do the following
pm2 stop sockets systemctl stop httpd
Check for any other processes using the OCFS2 mount
lsof |grep -i vhosts
* If there are additional processes then you will need to kill those process IDs
Otherwise proceed with the following
umount /var/www/vhosts systemctl stop ocfs2 systemctl restart iscsi
D. Verify the iSCSI device is available
iscsiadm -m session
It should show:
tcp: [1] 192.168.50.100:3260,1 iqn.1997-08.com.PRIVATE.iscsi01-02:vhosts (non-flash)
If it does not, then you will need to log in to iSCSI
iscsiadm -m discovery -t sendtargets -p 192.168.50.100
It should show:
192.168.50.100:3260,1 iqn.1997-08.com.PRIVATE.iscsi01-02:vhosts
Then login to the iSCSI device:
iscsiadm -m node -p 192.168.50.100 -T iqn.1997-08.com.PRIVATE.iscsi01-02:vhosts --login
E. Restart OCFS2, remount the SAN, and start Apache
(On BOTH web03 and web04)
systemctl start ocfs2 mount /var/www/vhosts systemctl start httpd systemctl start pm2
F. Verify PRIVATE.com loads
Continue with iscsi02.PRIVATE.com only (secondary)
A. Check the new drives to verify the names. Should be: sda, sdb, sdc, sdd based on the other server but you never know, so it's always good to double-check the names. We also need to double-check that the drives are unpartitioned.
lsblk --output NAME,SIZE,TYPE,FSTYPE,LABEL|column -t
We will resize the OCFS2 volume and clean up the derelict hosts later in this plan here: Day 2 - MFR:OCFS2 Cluster Upgrade."
B. Repeat this for each of the drives that were replaced.
Replace $DRIVE with /dev/sda
Replace $LABEL with a unique identifier ($HOSTNAME:100 works and is what is used on the old drives.)
parted $DRIVE mklabel gpt parted $DRIVE mkpart $LABEL 2048s "80%"
THE COMMAND BELOW WILL GENERATE YOUR PARTED/MDADM COMMANDS IN THE CORRECT ORDER (It will only print commands not execute them)
For DISKS if your drives are not sequential ie. {a..d}, you can specify them in a CSV list instead: eg. {e,g,s,t}
LABEL=$HOSTNAME:100 DISKS=$(echo /dev/sd{a..d}) unset PARTS; for DRIVE in $DISKS; do echo; echo "#Partition $DRIVE"; echo parted $DRIVE mklabel gpt; echo parted $DRIVE mkpart $LABEL 2048s \"80%\"; PARTS="$PARTS ${DRIVE}1"; done; echo; echo "#Create the new MD100 SW RAID"; echo "mdadm --create /dev/md100 --bitmap=internal --metadata=1.2 --level 10 --raid-disks 4 $PARTS"; echo
Below is an example mdadm command in case the one generated above somehow fails. The key difference is this command versus the others is that the specification of partition 1 on each drive.
mdadm --create /dev/md100 --bitmap=internal --metadata=1.2 --level 10 --raid-disks 4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
C. Create the new DRBD volume
drbdadm create-md shared/0
D. Take iscsi02 out of standby
pcs cluster unstandby iscsi02
E. Wait until DRBD has finished syncing. Monitor with:
watch -n 5 cat /proc/drbd
OR
watch -n 5 'drbdadm status'
F. (Optional) If the DRBD resync is very slow. You can speed up the DRBD sync by running the following:
drbdadm disk-options --c-plan-ahead=0 --resync-rate=1000M shared drbdadm net-options --max-epoch-size=8000 --max-buffers=8000 shared
G. Move to Step 7.A
A. Verify the disk space drives prior to resizing
lsblk --output NAME,SIZE,TYPE,FSTYPE,LABEL|column -t
B. Resize DRBD
pvresize /dev/drbd0
C. Resize the LVM filesystem leaving 20% free for snapshot space
lvextend -l +80%FREE vg_shared/pool00
D. Wait until DRBD has finished syncing (Yes again). Watch it with either of these commands:
watch -n 5 cat /proc/drbd
OR
watch -n 5 'drbdadm status'
E. Resize LUN if needed
1) Grab targets
tgm list
Example
[Pacemaker: online | DRBD: Primary Connected] [root@iscsi01.PRIVATE.com ~] [01:33:09]# tgm list iqn.1997-08.com.PRIVATE.iscsi01-02:vhosts
2) Verify size of LUN
tgm iqn.1997-08.com.PRIVATE.iscsi01-02:vhosts luns list
Example
[Pacemaker: online | DRBD: Primary Connected] [root@iscsi01.PRIVATE.com ~] [01:33:20]# tgm iqn.1997-08.com.PRIVATE.iscsi01-02:vhosts luns list 0 /dev/vg_shared/vhosts_lun0 2.53 TB
3) If the LUN size does not match, resize
4) First get the size
tgm summary
Example
[root@iscsi01.PRIVATE.com ~] [09:11:04]# tgm summary Connected sessions: 2 Total storage: 2.59 TB * Used: 2.53 TB (97.94%) * Allocated: 2.53 TB (97.00%) Discovery auth: * username: PRIVATE * password: MASKED iqn.1997-08.com.PRIVATE.iscsi01-02:vhosts * Size: 2.53 TB * ACLs: 4 - username: pha7peel9fie - password: MASKED
5) Set the size
tgm iqn.1997-08.com.PRIVATE.iscsi01-02:vhosts luns resize ???t
Example
[Pacemaker: online | DRBD: Primary Connected] [root@iscsi01.PRIVATE.com ~] tgm iqn.2014-01.es.enteng:training:example2 luns resize 2.53t Resized LUN 0 to 70g
F. If you need to speed that up again. You can speed up the DRBD sync by running the following:
drbdadm disk-options --c-plan-ahead=0 --resync-rate=500M shared drbdadm net-options --max-epoch-size=8000 --max-buffers=8000 shared
G. Make sure that the SAN is larger. You shouldn't see 95% disk usage anymore.
Both web03.PRIVATE.com & web04.PRIVATE.com should show less than 95% usage.
[root@web03 ~]# df -h Filesystem Size Used Avail Use% Mounted on (truncated output) /dev/sdd1 2.6T 2.4T 151G 95% /var/www/vhosts
A. Do the "Step 5. Restart iSCSI Connections" section
A. Stop Apache (on both nodes) (if updatedb is running you may want to stop that too)
systemctl stop httpd killall updatedb
B. Kill all processes (on both nodes) (the PIDs will be different than what's below)
[root@web03 ~]# lsof |grep -i vhosts perl 5149 root 3rW REG 8,49 27973 106086986 /var/www/vhosts/www.PRIVATE.com/cgi-bin/realZingers/functions/cronJobs/mailSystem/fetch_a_match.pl master_cr 7794 root 255r REG 8,49 306 1356681 /var/www/vhosts/www.PRIVATE.com/cgi-bin/realZingers/functions/cronJobs/master_cron [root@web03 ~]# umount /var/www/vhosts umount: /var/www/vhosts: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) [root@web03 ~]# kill -9 5149 7794 [root@web03 ~]# umount /var/www/vhosts [root@web03 ~]#
This part is tricky, I had to at one point restart step 9 all over again and reboot both servers. I also used a multi-line command/loop to more easily disconnect connections. Without doing this, I was unable to stop ocfs2 and/or unmount..
for i in `lsof |grep -i vhosts | awk '{print $2}'` do kill -9 $i done umount /var/www/vhosts
C. Stop ocfs2 (on both nodes)
systemctl stop ocfs2
You should only need to do this on one of the web nodes, let's go with web03.
A. Expand the disk
[root@web03 ~]# /root/bin/expand-partition.sh /dev/sdd Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and removing the old backup)? Warning: Not all of the space available to /dev/sdd appears to be used, you can fix the GPT to use all of the space (an extra 3137339392 blocks) or continue with the current setting?
B. You'll still see the wrong size
root@web03 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT (truncated output) sdd 8:48 0 2.6T 0 disk |-sdd1 8:49 0 1.3T 0 part /var/www/vhosts [root@web03 ~]# gdisk -l /dev/sdd Number Start (sector) End (sector) Size Code Name 1 2048 2726297566 1.3 TiB 0700 Mic
C. Use gdisk to delete the disk (we are not writing changes to disk yet, so don't be scared) (we are removing the old disk mount and making a new bigger mount. We aren't actually destroying any data, that data is on the SAN on a different server)
[root@web03 ~]# gdisk /dev/sdd GPT fdisk (gdisk) version 0.8.10 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): p Disk /dev/sdd: 8589934592 sectors, 4.0 TiB Logical sector size: 512 bytes Disk identifier (GUID): 578F387D-AAA0-4DB0-AAF3-AFC06169B129 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 8589934558 Partitions will be aligned on 2048-sector boundaries Total free space is 3137341406 sectors (1.5 TiB) Number Start (sector) End (sector) Size Code Name 1 2048 5452595166 2.5 TiB 0700 Microsoft basic data Command (? for help): d Using 1
You should see it gone (we have not written changes to disk yet, so don't be scared)
Command (? for help): p Disk /dev/sdd: 8589934592 sectors, 4.0 TiB Logical sector size: 512 bytes Disk identifier (GUID): 578F387D-AAA0-4DB0-AAF3-AFC06169B129 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 8589934558 Partitions will be aligned on 2048-sector boundaries Total free space is 8589934525 sectors (4.0 TiB) Number Start (sector) End (sector) Size Code Name
D. Recreate the disk (we have not written changes to disk yet, so don't be scared)
Command (? for help): n Partition number (1-128, default 1): First sector (34-8589934558, default = 2048) or {+-}size{KMGTP}: Last sector (2048-8589934558, default = 8589934558) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): 0700 Changed type of partition to 'Microsoft basic data' Command (? for help): p Disk /dev/sdd: 8589934592 sectors, 4.0 TiB Logical sector size: 512 bytes Disk identifier (GUID): 578F387D-AAA0-4DB0-AAF3-AFC06169B129 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 8589934558 Partitions will be aligned on 2048-sector boundaries Total free space is 2014 sectors (1007.0 KiB) Number Start (sector) End (sector) Size Code Name 1 2048 8589934558 4.0 TiB 0700 Microsoft basic data
You should see it gone (we have not written changes to disk yet, so don't be scared)
Below is an example where it shows the wrong disk size
Command (? for help): p Disk /dev/sdd: 8589934592 sectors, 4.0 TiB Logical sector size: 512 bytes Disk identifier (GUID): 578F387D-AAA0-4DB0-AAF3-AFC06169B129 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 8589934558 Partitions will be aligned on 2048-sector boundaries Total free space is 2014 sectors (1007.0 KiB) Number Start (sector) End (sector) Size Code Name 1 2048 8589934558 2.5 TiB 0700 Microsoft basic data
Also, you may need to reboot both web nodes and may need to redo step 9 to make sure nothing's using the SAN and everything is disconnected. Otherwise, that can cause issues for resizing, deleting and recreating the disk. The main issue being that you won't see the larger size despite the SAN offering a bigger size. I ran into that very issue.
If you truly get stuck, please refer to ticket PRIVATE and see what we did to get this working.
E. Write the change to disk (be careful of this, now we are making changes)
Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdd. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot. The operation has completed successfully.
F. We need to partprobe to pick up the changes
[root@web03 ~]# partprobe [root@web03 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdd 8:48 0 4T 0 disk |-sdd1 8:49 0 4T 0 part /var/www/vhosts sdb 8:16 0 477G 0 disk |-sdb4 8:20 0 468G 0 part |-md1 9:1 0 467.8G 0 raid1 / |-sdb2 8:18 0 8G 0 part [SWAP] |-sdb3 8:19 0 1G 0 part |-md0 9:0 0 1022M 0 raid1 /boot |-sdb1 8:17 0 1M 0 part sdc 8:32 0 5.5T 0 disk |-sdc1 8:33 0 5.5T 0 part /drive3 sda 8:0 0 477G 0 disk |-sda4 8:4 0 468G 0 part |-md1 9:1 0 467.8G 0 raid1 / |-sda2 8:2 0 8G 0 part [SWAP] |-sda3 8:3 0 1G 0 part |-md0 9:0 0 1022M 0 raid1 /boot |-sda1 8:1 0 1M 0 part
G. We need to resize so the vhost shows the changes too
[root@web03 ~]# tunefs.ocfs2 -S /dev/sdd1 [root@web03 ~]# systemctl start ocfs2 [root@web03 ~]# df -hT /dev/sdd1 Filesystem Type Size Used Avail Use% Mounted on /dev/sdd1 ocfs2 4.0T 2.5T 1.6T 61% /var/www/vhosts
Both nodes should show the correct size. I ran partprobe just to be sure on the other node too.
[root@web04 ~]# partprobe [root@web04 ~]# systemctl start ocfs2 [root@web04 ~]# df -hT /dev/sdd1 Filesystem Type Size Used Avail Use% Mounted on /dev/sdd1 ocfs2 4.0T 2.5T 1.6T 61% /var/www/vhosts
H. Restart services on both nodes
[root@web03 ~]# systemctl start httpd [root@web03 ~]# pm2 start sockets [PM2] Spawning PM2 daemon with pm2_home=/root/.pm2 [PM2] PM2 Successfully daemonized [PM2][ERROR] Script not found: /root/sockets
[root@web04 ~]# systemctl start httpd [root@web04 ~]# pm2 start sockets [PM2] Spawning PM2 daemon with pm2_home=/root/.pm2 [PM2] PM2 Successfully daemonized [PM2][ERROR] Script not found: /root/sockets