10.lv扩容报错:resize2fs: Bad magic number in super-block while trying to open

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10.lv扩容报错:resize2fs: Bad magic number in super-block while trying to open相关的知识,希望对你有一定的参考价值。

参考技术A          # resize2fs  /dev/mapper/centos_chefserver-root

查看LV「/dev/mapper/centos_chefserver-root 」文件格式,其文件格式为:xfs

         # df -T

了解后,确认xfs格式的文件扩充需要使用 xfs_growfs.

       # xfs_growfs /dev/mapper/centos_chefserver-root

       #df -h

Filesystem                          Size  Used Avail Use% Mounted on

       resize2fs 针对文件系统ext2 ext3 ext4;容量增大和缩小都适用;

       xfs_growfs 针对文件系统xfs;只支持增大,也就是说xfs文件系统只支持增大分区空间的情况,不支持减小(热减少);并不是说完全不能减少,只是减少后,需要用mkfs.xfs重新格式化才能挂载,一般是会丢失数据,仅限于系统初期部署或者完全做好数据备份情况下。

       centos7默认文件系统是xfs,

       centos6默认文件系统是ext4,

       centos5默认文件系统是ext3

       ext4是第四代扩展文件系统(英语:Fourth EXtended filesystem,缩写为ext4)是linux系统下的日志文件系统,是ext3文件系统的后继版本

       ext4的文件系统容量达到1EB,而文件容量则达到16TB。理论上支持无限数量的子目录

       xfs是一种非常优秀的日志文件系统,它是SGI公司设计的。xfs被称为业界最先进的、最具可升级性的文件系统技术;xfs是一个64位文件系统,最大支持8EB减1字节的单个文件系统,实际部署时取决于宿主操作系统的最大块限制。对于一个32位Linux系统,文件和文件系统的大小会被限制在16TB

       xfs在很多方面确实做的比ext4好,ext4受限制于磁盘结构和兼容问题,可扩展性和scalability确实不如xfs,另外xfs经过很多年发展,各种锁的细化做的也比较好。

[Lintcode]74. First Bad Version/[Leetcode]278. First Bad Version

[Lintcode]74. First Bad Version

[Leetcode]278. First Bad Version

  • 本题难度: [Lintcode]Medium/[Leetcode]
  • Topic: Binary Search

    Description

我的代码 for Leetcode(在Lintcode中因为isBadVersion调用太多次无法通过)

# The isBadVersion API is already defined for you.
# @param version, an integer
# @return a bool
# def isBadVersion(version):

class Solution:
    def firstBadVersion(self, n):
        """
        :type n: int
        :rtype: int
        """
        if isBadVersion(1) is True:
            return 1
        else:
            if n==1:
                return 0
        l = 2
        r = n
        m = (l+r)//2
        while(l<=r):
            print(l,m,r)
            t1 = isBadVersion(m-1)
            t2 = isBadVersion(m)
            print(t1,t2)
            if t1 is False and t2 is True:
                print("ok")
                return m
            else:
                if t2 is False:
                    l = m+1
                else:
                    if t1 is True:
                        r = m-1
            m = (l+r)//2

别人的代码 for Lintcode

#class SVNRepo:
#    @classmethod
#    def isBadVersion(cls, id)
#        # Run unit tests to check whether verison `id` is a bad version
#        # return true if unit tests passed else false.
# You can use SVNRepo.isBadVersion(10) to check whether version 10 is a 
# bad version.
class Solution:
    """
    @param n: An integer
    @return: An integer which is the first bad version.
    """
    def findFirstBadVersion(self, n):
        # write your code here

        r = n-1
        l = 0
        while(l<=r):
            mid = l + (r-l)//2
            if SVNRepo.isBadVersion(mid)==False:
                l = mid+1
            else:
                r = mid-1
        return l

思路

大思路是二分法,但是我想岔了。
其实无需找到一个自身为true,前一个为false的id,只需要找到最后一个为false的id即可。这样可以减少一次比较。

  • 时间复杂度: O(log(n))

以上是关于10.lv扩容报错:resize2fs: Bad magic number in super-block while trying to open的主要内容,如果未能解决你的问题,请参考以下文章

LVM做扩容Bad magic number in super-block while trying

resize2fs: Bad magic number in super-block while trying to open /dev/centos/root Couldn't find v

resize2fs: Bad magic number in super-block while trying to open

故障处理:磁盘扩容出错:e2fsck: Bad magic number in super-block while trying to open /dev/vdb1

resize2fs: Bad magic number in super-block while t

服务器磁盘空间扩容整理 pv vg lv resize2fs