0

I am having issues with a Debian (Stretch 9.3) VM which is running on Hyper-V (Windows Server 2016) whereby on two occasions in the last 7 days the filesystem has gone into read-only.

This first happened last week after the host server had its power ripped away and there was no clean shutdown of either the host nor the VM's. It happened at some stage after the VM powered back up and again within the last 24 hours (so twice now within 3 days).

I did not get any data from the first time, but fixed it with a fsck -y /dev/sda1 which did find errors. When it finished, a reboot of the VM resolved the problem.

As it has happened again, I assume I need to do the same, but this is a production VM and I cannot keep rebooting it.

I captured this from the VM this time:

enter image description here

But to be honest, I'm not sure how to interpret that nor what may be causing it.

The host server has not changed (other than the reboot) and there are no HDD issues reported on the host so I do not think that is the problem, I am assuming that something has become corrupt on the VM but it has re-occurred.

Any suggestions would be welcome about what to look at/try.

Thank you.

Update : This is what /sbin/fsck.ext4 /dev/sda1 -n reports :

root@:~# /sbin/fsck.ext4 /dev/sda1 -n
e2fsck 1.43.4 (31-Jan-2017)
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sda1 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Deleted inode 2621453 has zero dtime.  Fix? no

Inodes that were part of a corrupted orphan linked list found.  Fix? no

Inode 5638952 was part of the orphaned inode list.  IGNORED.
Inode 8258727 extent tree (at level 1) could be shorter.  Fix? no

Inode 8258727, i_blocks is 128, should be 8.  Fix? no

Inode 8258730 extent tree (at level 1) could be shorter.  Fix? no

Inode 8258730, i_blocks is 48, should be 8.  Fix? no

Inode 8258734 extent tree (at level 1) could be shorter.  Fix? no

Inode 8258734, i_blocks is 56, should be 8.  Fix? no

Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  +21541044 +21541050 -21541058 -21541229 -22577535 -22627866 -22627873 -22628070 -22628085 -22628089 -22628095 -22628105 -22628123 -22628125 -(22628127--22628128) -22628131 -22628136 -22628144 -22628147 -22628149 -22628212 -22628219 -22628259 -22633493 -22633688 -22633690 -22633765 -22633802 -22633806 -22639253 -22639278 -(22639282--22639283) -22639294 -22639554 -22642897 -22642941 -(22642944--22642946) -(22642980--22642981) -22643248 -22643269 -22643331 -22643335 -22643344 -22643352 -22643356 -22643365 -22643374 -22643389 -22643425 -22645248 -22645256 -22645262 -22645319 -22645347 -22645387 -22645400 -22645406 -22645415 -22645417 -22645423 -(22645435--22645436) -22645442 -22645444 -22645455 -22645458 -22645471 -22670934 -22670936 -22670985 -22670987 -(22670989--22670990) -22671000 -22671011 -22671028 -22671052 -22671056 -22671064 -22671070 -22671091 -22671111 -22671118 -22671125 -22671128 -22671133 -22671246 -22673432 -22674990 -22674997 -22674999 -22675003 -(22675021--22675022) -22675027 -22675033 -22675035 -22675130 -22675158 -22675162 -(22675179--22675180) -22675256 -22693892 -22693898 -22693901 -22693903 -22693921 -22693925 -22693933 -22693937 -22693945 -22693949 -22693957 -22693961 -22693968 -(22693972--22693973) -22693985 -22693995 -22694006 -22694009 -22694016 -22694024 -22694040 -(22694046--22694047) -22694050 -22694055 -22694059 -22694073 -22694077 -22694084 -22694089 -22694097 -22694226 -22694235 -22694238 -22694243 -22694246 -22694258 -22694274 -22694279 -22694290 -22694300 -22694319 -22694322 -22694330 -(22694390--22694391) -(22694617--22694623) -22694625 -22694627 -22694629 -22694631 -22694633 -22694635 -22694637 -22694639 -(22694642--22694643) -22694647 -22694649 -22694651 -22694653 -22694667 -22694669 -22694671 -22694673 -22694676 -(22694678--22694684) -22694688 -22694691 -22694693 -22694697 -22694699 -22694701 -22694703 -22694706 -22694708 -22694710 -22694712 -22694714 -22694716 -22694718 -22694720 -22694722 -22694724 -22694726 -22694730 -22694732 -22694734 -(22694737--22694738) -22694759 -(22694787--22694788) -(22694802--22694803) -22694806 -22694814 -22694820 -22694822 -22694841 -22694843 -22694848 -22694853 -22694855 -(22694864--22694865) -22694871 -22694882 -22694884 -22694888 -22694899 -22694904 -22694921 -22694924 -22695194 -22695197 -22695337 -22695345 -22695353 -22695356 -(22695362--22695363) -22695368 -22695370 -22695374 -22695381 -(22695387--22695389) -22695412 -22695416 -22698005 -22698077 -22698931 +(22701409--22701410) +(22701414--22701417) +(22701419--22701426) +(22701428--22701440) +(22701442--22701450) +(22701452--22701459) +(22701461--22701478) +(22701480--22701487) +(22701489--22701493) +(22701495--22701508) -22719530 -22730100 -22730115 -22730132 -22730148 -22730164 -22730174 -22730178 -22730188 -22730201 -22730214 -(22730226--22730229) -22730233 -(22841952--22841983) -(22851376--22851391) -(22871744--22871807) -(22952064--22952191) -(23574784--23575039) -(23800320--23800369) +(24023517--24023518) +33063445 +33063457 +33063464 -33063515 -49325645 -(49325653--49325656) -49325673 -49325675 -49325678 -49325682 -49325701 -49325730 -49325750 -(49325807--49325808) -49325852 -49325864 -49325899 -49325902 -49325945 -49326014 -49326017 -49326021 -49326033 -49326036 -49326040 -49326049 -49326060 -49326075
Fix? no

Free blocks count wrong for group #690 (21181, counted=21150).
Fix? no

Free blocks count wrong for group #691 (31209, counted=31133).
Fix? no

Free blocks count wrong for group #692 (26083, counted=26025).
Fix? no

Free blocks count wrong for group #733 (17850, counted=17852).
Fix? no

Free blocks count wrong for group #1505 (22997, counted=22970).
Fix? no

Free blocks count wrong (41208686, counted=41208496).
Fix? no

Inode bitmap differences:  -2621453 -5638952 -8258714
Fix? no

Block bitmap differences: Group 690 block bitmap does not match checksum.
IGNORED.
Group 691 block bitmap does not match checksum.
IGNORED.
Group 692 block bitmap does not match checksum.
IGNORED.
Group 733 block bitmap does not match checksum.
IGNORED.
Group 1505 block bitmap does not match checksum.
IGNORED.

/dev/sda1: ********** WARNING: Filesystem still has errors **********

/dev/sda1: 98864/12845056 files (1.1% non-contiguous), 10171538/51380224 blocks
root@:~#
omega1
  • 392
  • 3
  • 7
  • 27
  • 1
    I had the same issue (versions Debian 9 VM, MS HyperV 2012R2 host) when backup of the VM was initiated. Most backup apps take a snapshot of the VM on the host for a full VM backup. Somehow this remounted the partitions read only. We had to upgrade the backup app. – Krackout Jul 23 '20 at 13:11
  • 1
    Some hypervisor backup apps don't quiesce the guest filesystem before taking the snapshot, either, leaving it in an inconsistent state. Some filesystems are better than others at recovering from this. The same inconsistent state occurs in a hard power failure (what happened to your UPS?!). I recommend rebuilding the VM, and stop using ext4; XFS is much better at handling this sort of thing (and better overall). It's a shame that Debian derived distros are still using ext4 by default when the rest of the world has moved on. – Michael Hampton Jul 23 '20 at 13:29
  • Thank you both. The question about the UPS was a very good one I put to our datacentre providers! I do not have any backup apps running as such, I use the Hyper-V replication process to replicate the VM to another Hyper-V. Not sure if that counts as the backup element you have both mentioned? Do you think a rebuild is the only option? – omega1 Jul 23 '20 at 14:07

0 Answers0