当前位置: 首页 > news >正文

贵阳市网站开发快要到期的域名网站

贵阳市网站开发,快要到期的域名网站,成都旅游学院,网站排名制作公司背景 最近公司一款产品转产,工厂组装好后,用我提供的系统镜像烧录,系统起来后发现Ubuntu20.04转圈了90秒才进入图形界面,这是不可接受的,公司老总要求当天必须解决。 定位 分析syslog 看不到系统启动时的日志&…

背景

最近公司一款产品转产,工厂组装好后,用我提供的系统镜像烧录,系统起来后发现Ubuntu20.04转圈了90秒才进入图形界面,这是不可接受的,公司老总要求当天必须解决。
这个圈圈转了90秒

定位

分析syslog

看不到系统启动时的日志,而且大量日志是集中在1秒内写入的,说明启动阶段的日志有丢失

查看串口打印

考虑到串口不会丢日志,接上串口,再次复现故障,发现启动10秒后打印突然就没有了,然后过了90秒才开始有打印,说明系统确实在这90秒里什么都没做,就干等。

分析systemd

与同事一起分析systemd,特别是跟研发这边的旧机器(没有启动慢问题)的systemd做比对,发现新机器少了个target,这个target负责执行/etc/fstab里指定的挂载,而systemd.mount挂载NVME超时,systemd的配置又决定了图形界面的初始化必须在NVME挂载之后进行,于是系统转圈了90秒。

systemd.mount手册截取

Options¶TimeoutSec=
Configures the time to wait for the mount command to finish. If a command does not exit within the configured time, the mount will be considered failed and be shut down again. All commands still running will be terminated forcibly via SIGTERM, and after another delay of this time with SIGKILL. (See KillMode= in systemd.kill(5).) Takes a unit-less value in seconds, or a time span value such as "5min 20s". Pass 0 to disable the timeout logic. The default value is set from DefaultTimeoutStartSec= option in systemd-system.conf(5).

systemd-system.conf手册截取

Options¶DefaultTimeoutStartSec=, DefaultTimeoutStopSec=, DefaultTimeoutAbortSec=, DefaultRestartSec=
Configures the default timeouts for starting, stopping and aborting of units, as well as the default time to sleep between automatic restarts of units, as configured per-unit in TimeoutStartSec=, TimeoutStopSec=, TimeoutAbortSec= and RestartSec= (for services, see systemd.service(5) for details on the per-unit settings). For non-service units, DefaultTimeoutStartSec= sets the default TimeoutSec= value.DefaultTimeoutStartSec= and DefaultTimeoutStopSec= default to 90 s in the system manager and 90 s in the user manager. DefaultTimeoutAbortSec= is not set by default so that all units fall back to TimeoutStopSec=. DefaultRestartSec= defaults to 100 ms.Added in version 209.

可以看到,systemd默认挂载超时时间恰好是90秒!

解决NVME挂载问题

经定位,是NVME出厂时并未格式化,导致/etc/fstab里配置的分区不存在,进而导致systemd根据/etc/fstab动态创建的mount单元执行超时

# UNCONFIGURED FSTAB FOR BASE SYSTEM
/dev/nvme0n1p1 /home/root               ext4    defaults        0 2

验证问题

用fdisk命令创建Linux分区,再用mkfs.ext4命令给Linux分区创建ext4文件系统后,重启,启动慢的问题解决。

解决方案

研发解决

  1. 创建NVME检查脚本,检查是否有ext4分区,没有就创建分区并格式化
  2. 添加适当的systemd单元,使其在/etc/fstab被systemd解析前调用NVME检查脚本

工厂解决

要求工厂装配前必须将NVME格式化,且格式化成ext4分区。

  1. 买一个USB转NVME的硬盘盒
  2. 将NVME盘接到PC机上
  3. 使用傲梅分区助手这个第三方软件将NVME盘格式化成ext4分区。

后记

为什么systemd要给mount设置超时参数?本地挂载设置超时没有意义,网络挂载/etc/fstab又没指定,唉!

http://www.15wanjia.com/news/157351.html

相关文章:

  • 中小学学校网站建设建新建设集团有限公司网站
  • 公司网站建设合规吗聊城集团网站建设加盟
  • 一_建设网站前的市场分析艾艺公司团队定制
  • 建筑网站视频大全建设网站需要做的工作
  • 电子商务网站基本功能盐城seo营销
  • 自己建网站有什么好处怎样设计一个网页
  • 做网站自动上传文章论坛静态网站源码
  • 前端网站开发的公用头部h5手机网站实例
  • 网站开发报告医疗器械行业
  • 0基础做网站用什么语言红木家具网站模板
  • h5网站动画怎么做网站建设的学习
  • 视频解析网站怎么做的如何让网站收录公司名
  • 义乌营销型网站建设如何用vs的c 做网站
  • 做房产应看的网站广告设计公司报价
  • 专业建站网站服务莱芜区都市网莱芜杂谈
  • 九江做网站的企业门户网站建设市场
  • 网站 公众号信息化建设工作商务网站可以做哪些
  • 大学生网站建设彼亿营销
  • 公司网站怎么建立优化体系网站建设备案费用
  • 网站建设书怎么写上海市建设工程交易服务中心
  • php旅游网站论文广州私人做网站
  • 焦作网站建设哪家正规房地产开发资质
  • 网站建设费可以计入管理费用吗丽江手机网站建设
  • 中国建设银行官网站u盾证书商城全网推广运营公司
  • 顺德专业网站制作网站建设推广方法
  • 深圳网站建设 东毅虎网站开发需求分析的内容
  • 网站域名在哪备案在vs上用c 做登录网站
  • 一个网站建设的流程怎样在微信上开发小程序
  • 黑群晖做网站建设厅官方网站
  • 湖南省公司注册网站电脑网站和手机网站的区别