打开了防火墙,然后ssh连接被禁了,我又断开了和服务器的连接

0

我打开了防火墙,ssh的22端口被禁了,我不知道,打开了ftp结果和服务器的连接就断了。 现在我没法登录上去关闭防火墙,按照网上的说法可以把它的硬盘挂到别的服务器的底下,然后修改配置文件,但是我挂了之后发现,根本打不开硬盘,去查又说什么需要格式化,或者没有文件系统,要建立文件系统,并且还有提示,如果原来有数据,会格式化。 我就是要里面的数据,才会想要连接回去,才会想要挂载到别的服务底下,看能不能关闭服务器。

gefragt vor einem Jahr289 Aufrufe
3 Antworten
1
Akzeptierte Antwort

我已经解决了此问题,当我对xvdf使用挂载命令时,提示错误。但是我对xvdf1使用时便没有此错误。通过命令我查看到xvdf所属的三个部分中,xvdf14是没有文件系统的,所以我猜想这就是我挂载不成功的原因。

beantwortet vor einem Jahr
0

一般来说,开启防火墙后,是不会把文件系统搞坏,若您在挂载磁盘时,挂载 mount 出现以下错误,此时不一定是文件系统损坏,常见是该 EBS 卷分区上的 UUID 跟当前实例使用的根卷磁盘分区是重复的(相同),所造成的问题。

mount: /mnt: wrong fs type, bad option, bad superblock on /dev/nvme2n1p1, missing codepage or helper program, or other error.

建议先使用 lsblk -f 检查磁盘分区的 UUID,是否跟目前实例使用的根卷磁盘分区是重复的(相同),如果重复再使用参数 -o nouuid 来挂载。

$ sudo lsblk -f
$ sudo mount -o nouuid  /dev/nvme2n1p1 /mnt

[+] Unable to mount the filesystem due to duplicate UUID error. https://access.redhat.com/solutions/5494781

若是文件系统的问题,建议您参考以下文档来修复,但以下操作仍有一定的风险,建议您先做快照备份,再来执行。

[+] 由于操作系统出现问题,我的 EC2 Linux 实例未通过实例状态检查。如何解决此问题? https://repost.aws/zh-Hans/knowledge-center/ec2-linux-status-check-failure-os-errors

$ sudo fsck /dev/nvme2n1p1
$ sudo xfs_repair /dev/nvme2n1p1
profile pictureAWS
Jerry_K
beantwortet vor einem Jahr
  • 如你所说,我查看了他们的uuid:

    xvda
    ├─xvda1
    │    ext4   1.0   cloudimg-rootfs
    │                       cda0c0a7-e64a-4413-85a5-a0235f6f567f    5.3G    30% /
    ├─xvda14
    │
    └─xvda15
         vfat   FAT32 UEFI  54D6-C8B8
    xvdf
    ├─xvdf1
    │    ext4   1.0   cloudimg-rootfs
    │                       cda0c0a7-e64a-4413-85a5-a0235f6f567f
    

    我发现xvda1的uuid和xvdf1相同,这属于你说的那种情况吗? 之后我使用了

    sudo mount -o nouuid /dev/xvdf /mnt/temp
    

    显示

    mount: /mnt/temp: /dev/xvdf already mounted or mount point busy.
    

    并且取消挂载时会显示并没有挂载

    ubuntu@ip-172-31-25-199:/mnt/temp$ sudo umount /mnt/temp
    umount: /mnt/temp: not mounted.
    ubuntu@ip-172-31-25-199:/mnt/temp$ sudo umount /dev/xvdf
    umount: /dev/xvdf: not mounted.
    

    此外,我查看了占据/mnt/temp的进程:

    sudo fuser -mv /mnt/temp
    

    显示

                         USER        PID ACCESS COMMAND
    /mnt/temp:           root     kernel mount /
                         root          1 .rce. systemd
                         root          2 .rc.. kthreadd
                         root          3 .rc.. rcu_gp
                         root          4 .rc.. rcu_par_gp
                         root          5 .rc.. slub_flushwq
                         root          6 .rc.. netns
                         root          7 .rc.. kworker/0:0-events
                         root          8 .rc.. kworker/0:0H-events_highpri
                         root          9 .rc.. kworker/u30:0-events_power_efficient
                         ...
    

    也许有用? 然而/mnt/temp文件夹下没有任何文件

0
  1. 我发现xvda1的uuid和xvdf1相同,这属于你说的那种情况吗?
>> 是的。
/dev/xvda1 cda0c0a7-e64a-4413-85a5-a0235f6f567f 
/dev/xvdf1 cda0c0a7-e64a-4413-85a5-a0235f6f567f 

!!! 这常见于您这两台实例是从同一个 AMI 所创建的,所以 root volume 上的分割区(Partition)配置是一致的。
  1. 您没挂载到正确的分割区(Partition)
sudo mount -o nouuid /dev/xvdf /mnt/temp <---挂错了。
>> 请改用。
sudo mount -o nouuid /dev/xvdf1 /mnt/temp
profile pictureAWS
Jerry_K
beantwortet vor einem Jahr

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen