Linux文件虚拟机系统只读Read-only file system的快速解决方法

问题描述:上周公司的私有云(底层架构是Openstack+KVM,目前稳定性还不够好,开发团队在改进中)一个计算节点挂掉,之后恢复后发现这个计算节点的所有Linux系统都变成只读了,复制文件提示:Read-only file system

问题原因:系统没有正常关机,导致虚拟磁盘出现文件系统错误。 

解决方法:使用fsck手动修复,具体操作如下: 重启系统后使用root进入单用户模式,运行 fsck.ext3 -y /dev/vda3 说明:ext3的文件系统使用fsck.ext3,ext4文件系统使用fsck.etx4。/dev/vda3是系统/根分区。运行完毕后,reboot重启系统就恢复正常。

fsck.ext3开始进入扫描、修正文件系统,这个过程有时很快,有时比较长,中间有数次停顿的过程,只需等待即可,千万不要以为死机而重启服务器。修正完文件系统后,如果没有提示重启系统,也需要reboot来重启系统。 

扩展知识:fsck简介 fsck不仅可以对文件系统进行扫描,还能修正文件系统的一些问题。注意的是fsck扫描文件系统时一定要在单用户模式、修复模式或把设备umount后进行。建议在单用户模式下运行。如果扫描正常运行中的系统,会造成系统文件损坏。 文件系统扫描工具有fsck、fsck.ext2、fsck.ext3、fsck.ext4、fsck.msdos、fsck.cramfs、fsck.ext4dev、fsck.vfat。最好是根据不同的文件系统来调用不同的扫描工具,比如ext3的文件系统使用fsck.ext3,ext4文件系统使用fsck.ext4等。 /dev/vda3是ext3的文件系统,这里介绍fsck.ext3的参数: fsck.ext3 [语法] fsck.ext3[必要参数][选择参数][设备代号] [功能] fsck.ext3命令:针对ext3文件系统进行检测修复 [执行权限] root [参数] 必要参数 -a非互交模式,自动修复 -c检查是否存在有损坏的区块。 -C fsck.ext3命令会把全部的执行过程,都交由其逆向叙述,便于监控程序 -d详细显示命令执行过程 -f强制进行检查 -F检查文件系统之前,先清理该保存设备块区内的数据 -l把文件中所列出的损坏区块,加入标记 -L清除所有损坏标志,重新标记 -n非交互模式,把欲检查的文件系统设成只读 -P 设置fsck.ext2命令所能处理的inode大小为多少 -r交互模式 -R忽略目录 -s顺序检查 -S效果和指定“-s”参数类似 -t 显示fsck.ext2命令的时序信息。 -v显示详细的处理过程 -y关闭互动模式 选择参数 -b指定分区的第一个磁区的起始地址/Super Block -B 设置该分区每个区块的大小 -I设置欲检查的文件系统,其inode缓冲区的区块数目 -V显示版本信息。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果你想将文件从 Windows 主机复制到运行在 Hyper-V 上的 Linux 虚拟机上,你可以使用以下两种方法方法一:使用 Samba 共享 1. 在 Linux 虚拟机上安装 Samba 服务。 可以通过运行以下命令来安装 Samba: ``` sudo apt-get update sudo apt-get install samba ``` 2. 在 Linux 虚拟机上创建共享文件夹。 可以通过运行以下命令来创建共享文件夹: ``` sudo mkdir /home/user/share sudo chmod 777 /home/user/share ``` 其中,/home/user/share 是你要共享的文件夹路径。 3. 在 Samba 配置文件中添加共享文件夹。 可以通过运行以下命令来编辑 Samba 配置文件: ``` sudo nano /etc/samba/smb.conf ``` 在文件末尾添加以下内容: ``` [share] path = /home/user/share read only = no ``` 其中,share 是共享文件夹的名称,path 是共享文件夹的路径,read only = no 表示可读写。 4. 重启 Samba 服务。 可以通过运行以下命令来重启 Samba 服务: ``` sudo service smbd restart ``` 5. 在 Windows 主机上访问共享文件夹。 可以通过在 Windows 资源管理器中输入以下命令来访问共享文件夹: ``` \\<Linux 虚拟机 IP 地址>\share ``` 其中,<Linux 虚拟机 IP 地址> 是 Linux 虚拟机的 IP 地址,share 是共享文件夹的名称。 6. 将文件复制到共享文件夹中。 在 Windows 资源管理器中,将要复制的文件拖放到共享文件夹中即可。 7. 在 Linux 虚拟机中查看复制的文件。 可以通过运行以下命令来查看共享文件夹中的文件: ``` ls /home/user/share ``` 其中,/home/user/share 是共享文件夹的路径。 方法二:使用 scp 命令 1. 在 Linux 虚拟机上安装 ssh 服务。 可以通过运行以下命令来安装 ssh: ``` sudo apt-get update sudo apt-get install ssh ``` 2. 在 Windows 主机上安装 WinSCP 软件。 WinSCP 是一款免费的 Windows 客户端软件,可以用于在 Windows 主机和 Linux 虚拟机之间传输文件。你可以在官网上下载并安装 WinSCP。 3. 在 WinSCP 中连接到 Linux 虚拟机。 在 WinSCP 中,输入 Linux 虚拟机的 IP 地址、用户名和密码,然后点击“登录”按钮。 4. 将文件复制到 Linux 虚拟机中。 在 WinSCP 中,将要复制的文件拖放到 Linux 虚拟机的目录中即可。 5. 在 Linux 虚拟机中查看复制的文件。 可以通过运行以下命令来查看 Linux 虚拟机中的文件: ``` ls /path/to/copied/file ``` 其中,/path/to/copied/file文件的路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值