• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • Solaris
    • Oracle Linux
    • VCS
  • Interview Questions
  • Database
    • oracle
    • oracle 12c
    • ASM
    • mysql
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

BTRFS: too many missing devices, writeable mount is not allowed

by admin

The Problem

Assembling a BTRFS device during boot fails with error

BTRFS: too many missing devices, writeable mount is not allowed

The disks have been mistakenly deleted

The Solution

The missing disks in the raid array do not allow the filesystem to be mounted.

Below are the logs from dmesg:

[ 44.706956] btrfs: disk space caching is enabled
[ 44.708006] btrfs: failed to read the system array on sdd1
[ 44.721272] btrfs: open_ctree failed
[ 45.437152] nr_pdflush_threads exported in /proc is scheduled for removal
[ 45.437280] sysctl: The scan_unevictable_pages sysctl/node-interface has been disabled for lack of a legitimate use case. If you have one, please send an email to linux-mm@kvack.org.
[ 109.750996] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[ 123.375147] device fsid 06182482-9e8c-4e92-a026-ee045ffa71df devid 1 transid 2351588 /dev/sdd1
[ 123.379134] btrfs: allowing degraded mounts
[ 123.379137] btrfs: enabling auto recovery
[ 123.379137] btrfs: disk space caching is enabled
[ 123.380401] warning devid 4 missing
[ 123.385362] btrfs: bdev (null) errs: wr 16, rd 0, flush 0, corrupt 0, gen 0
[ 123.385367] btrfs: bdev /dev/sde1 errs: wr 16, rd 0, flush 0, corrupt 0, gen 0
[ 123.446679] Btrfs: too many missing devices, writeable mount is not allowed
[ 123.457684] btrfs: open_ctree failed

The raid requires a certain number of devices for a successful mount. If some of the devices do not exist/have failed/have been replaced, you can try to mount the file system with the below option and continue updating the device set.

Try below options in the same order:

# mount -o degraded,ro /dev/sdd1 /u01
dmesg | tail
# mount -o degraded,recovery /dev/sdd1 /u01
dmesg | tail
# mount -o degraded,recovery,ro /dev/sdd1 /u01
dmesg | tail

Filed Under: CentOS/RHEL 5, CentOS/RHEL 6, CentOS/RHEL 7, Linux

Some more articles you might also be interested in …

  1. How to Recover from a Corrupted or empty /etc/mtab file in CentOS/RHEL 7
  2. Troubleshooting “connection refused” From Remote Servers in CentOS/RHEL 7 (Either Firewalld or iptables service issue)
  3. CentOS / RHEL : How to add iptable rules
  4. Linux “seq” Command Examples
  5. CentOS / RHEL : How to Disable and Blacklist Linux Kernel Module to prevent it from loading automatically
  6. CentOS / RHEL 7 : How to enable or disable automatic updates (via packagekit)
  7. CentOS / RHE 7 : How to Prevent Users from Using the Last 10 Passwords
  8. named-checkconf: command not found
  9. How to configure NTP to fall back to local system clock source in CentOS/RHEL
  10. How to backup Linux OS using “dd” Command

You May Also Like

Primary Sidebar

Recent Posts

  • What are /dev/zero and /dev/null files in Linux
  • grpck command – Remove corrupt or duplicate entries in the /etc/group and /etc/gshadow files.
  • xxd command – Expressed in hexadecimal form
  • sesearch: command not found

© 2022 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright