歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux文件系統修復

Linux文件系統修復

日期:2017/2/27 15:46:29   编辑:Linux教程

問題引出

Linux操作系統下,安裝ceph分布式存儲系統,在安裝OSD時,執行了一條命令
ceph-deploy disk zap osdnode1:/dev/sda3
命令執行失敗,日志如下:
[ceph_deploy.cli][INFO  ] ceph-deploy options:
[ceph_deploy.cli][INFO  ]  username                      : None
[ceph_deploy.cli][INFO  ]  verbose                       : False
[ceph_deploy.cli][INFO  ]  overwrite_conf                : False
[ceph_deploy.cli][INFO  ]  subcommand                    : zap
[ceph_deploy.cli][INFO  ]  quiet                         : False
[ceph_deploy.cli][INFO  ]  cd_conf                       : <ceph_deploy.conf.cephdeploy.Conf instance at 0x12be4d0>
[ceph_deploy.cli][INFO  ]  cluster                       : ceph
[ceph_deploy.cli][INFO  ]  func                          : <functiondisk at 0x12b6938>
[ceph_deploy.cli][INFO  ]  ceph_conf                     : None
[ceph_deploy.cli][INFO  ]  default_release               : False
[ceph_deploy.cli][INFO  ]  disk                          : [('osdnode1','/dev/sda3', None)]
[ceph_deploy.osd][DEBUG ] zapping /dev/sda3 on osdnode1
[osdnode1][DEBUG ] connection detected needforsudo
[osdnode1][DEBUG ] connected to host: osdnode1
[osdnode1][DEBUG ] detect platform information from remote host
[osdnode1][DEBUG ] detect machine type
[osdnode1][DEBUG ] find the location of an executable
[ceph_deploy.osd][INFO  ] Distro info: CentOS 6.7 Final
[osdnode1][DEBUG ] zeroing last few blocks of device
[osdnode1][DEBUG ] find the location of an executable
[osdnode1][INFO  ] Running command: sudo /usr/sbin/ceph-disk zap /dev/sda3
[osdnode1][DEBUG ] CreatingnewGPT entries.
[osdnode1][DEBUG ] Warning: The kernel is still using the old partition table.
[osdnode1][DEBUG ] Thenewtable will be used at the next reboot.
[osdnode1][DEBUG ] GPT data structures destroyed! You may now partition the disk using fdisk or
[osdnode1][DEBUG ] other utilities.
[osdnode1][DEBUG ] CreatingnewGPT entries.
[osdnode1][DEBUG ] Warning: The kernel is still using the old partition table.
[osdnode1][DEBUG ] Thenewtable will be used at the next reboot.
[osdnode1][DEBUG ] The operation has completed successfully.
[osdnode1][WARNING] Traceback (most recent call last):
[osdnode1][WARNING]   File"/usr/sbin/ceph-disk", line 2994,in<module>
[osdnode1][WARNING]     main()
[osdnode1][WARNING]   File"/usr/sbin/ceph-disk", line 2972,inmain
[osdnode1][WARNING]     args.func(args)
[osdnode1][WARNING]   File"/usr/sbin/ceph-disk", line 2690,inmain_zap
[osdnode1][WARNING]     zap(dev)
[osdnode1][WARNING]   File"/usr/sbin/ceph-disk", line 1071,inzap
[osdnode1][WARNING]     update_partition('-d', dev,'zapped')
[osdnode1][WARNING]   File"/usr/sbin/ceph-disk", line 1033,inupdate_partition
[osdnode1][WARNING]     dev,
[osdnode1][WARNING]   File"/usr/sbin/ceph-disk", line 306,incommand
[osdnode1][WARNING]     **kwargs)
[osdnode1][WARNING]   File"/usr/lib64/python2.6/subprocess.py", line 642,in__init__
[osdnode1][WARNING]    
[osdnode1][WARNING]   File"/usr/lib64/python2.6/subprocess.py", line 1234,in_execute_child
[osdnode1][WARNING]    
[osdnode1][WARNING]   File"/usr/lib64/python2.6/pickle.py", line 1374,inloads
[osdnode1][WARNING]    
[osdnode1][WARNING]   File"/usr/lib64/python2.6/pickle.py", line 858,inload
[osdnode1][WARNING]    
[osdnode1][WARNING]   File"/usr/lib64/python2.6/pickle.py", line 971,inload_string
[osdnode1][WARNING]    
[osdnode1][WARNING] LookupError: unknown encoding: string-escape
[osdnode1][ERROR ] RuntimeError: command returned non-zero exit status: 1

[ceph_deploy][ERROR ] RuntimeError: Failed to execute command: /usr/sbin/ceph-disk zap /dev/sda3

實際影響

我osdnode1設備無法正常工作,體現在:

相關命令羅列後不會返回結果 執行創建等命令失敗

[root@osdnode1 home]# df -h
-bash:/bin/df: Input/outputerror
[root@osdnode1 home]# mount
/dev/sda3on /typeext4 (rw)
proc on/proctypeproc (rw)
sysfs on/systypesysfs (rw)
devpts on/dev/ptstypedevpts (rw,gid=5,mode=620)
tmpfs on/dev/shmtypetmpfs (rw)
/dev/sda1on/boottypeext4 (rw)
none on/proc/sys/fs/binfmt_misctypebinfmt_misc (rw)
 
mount: warning:/etc/mtabis not writable (e.g.read-only filesystem).
       It's possible that information reported bymount(8) is not
       up todate. For actual information about systemmountpoints
       check the/proc/mountsfile.
 
[root@osdnode1 home]# df -h
-bash:/bin/df: Input/outputerror

一直報IO error.

解決辦法

後通過如下方法修復:命令執行過程中一路yes next就OK

fsck -t ext4 /dev/sda3

修復成功後

Copyright © Linux教程網 All Rights Reserved