道道通导航升级教程 带你深入了解升级方法

道道通导航升级教程 带你深入了解升级方法,第1张

1、判断导航是否可以升级?

检查用户导航仪硬件本身是否可正常工作高猛帆;运行客户原来的导航地图,确认旧地图可以正常收到信号、导航有声音、可以手写之类的,只有在导航硬件正常的情况下,才可以继续升级新版本导航地图。

机器可用运存在50M或者以上;芯片要求ARM9或以上;芯片频率在500Mhz或以上。查找用户导航仪相对应的厂家,型号及图片。

2、备份地图卡上的旧数据

为了保险起见,请在升级新地图之前,务必备份好原导航卡里面的所有文件(原导航地图、MP3、视频、图片等文件)至电脑硬盘里面,等全部复制完再删除旧地图卡上的文件,待升级成功了,用户可根据地图卡剩余的容量来复制回需要的文件,最后才可以删除电脑上的备份。知核

3、安装新版本地图(以高配版为例)

新版本地图数据要求至少4G或者以上的卡来安装,请确认卡容量是否足够;首先从网站上下载道道通2015夏季版导航地图包和道道通2015夏季版高配主程序这两个压缩文件,并解压放到电脑硬盘上。

解压道道通2015夏季版导航地图包——复制里面Mpadata和Spec文件夹到内存卡上的RtNavi文件夹里面。

4、读取硬件序列号

将装好数据的数据卡插入导航仪内,再点击导航仪主戚雹界面的“导航”,出现“激活地图”的界面,记录“激活版本”和“序列号”的信息登录道道通官方购买激活码。

5、获取激活码

登录道道通官网购买激活码;打开IE浏览器,输入网址,选择对相应的激活版本号,序列号,以及输入手机号码来接收激活码短信,如需要索取发票可勾选索取发票,核对好信息后即可点击“购买”来进行付费。

激活地图;通过以上两种付款方式完成付款后,会收到一条手机短信,短信里面会有激活码,把激活码输入到激活界面的激活码那一栏直到显示绿色的正确符号,点击安装出现提示后再按“确定”,再重新进入导航。

6、进入地图并质检

将地图数据卡拔出读卡器,插入导航仪,点击导航按钮可直接进入 “特别声明”界面,点击“本次接受”或“永久接受”可进入地图界面,激活成功。

概述

关于如何安装部署openstack,各个大小公司纷纷推出自己的方案和产品,例如fuel、trippleO、RDO、devstack等等。试用了RDO等工具后,也萌生了实现一个自研工具的想法(顺便弥补这一块知识的空白),现将思路及过程记录如下。

需求

1、支持灵活的安装部署方式(单台host或者批量host)和多种安装介质(物理机或者虚拟机)

2、安装部署过程用户体验好

(1)安装工时短

(2)并发安装服务器数量多

(3)用户参与环节尽量少

3、兼容性好

(1)可以支持业界主流服务器

(2)跨vlan部署

总体思路

步骤备选方案技术点

制作安装源

备选1:标准cd/dvd形式linux系统iso文件+RPM包形式openstack源(例如centos.iso+yum openstack源)

备选2:livced形式iso,openstack已安装到iso中

本方案选择备选2, *** 作系统采用centos 6.5,openstack采用H版本

1、openstack rpm包制作:复用rdo h版本openstack的spec文件,制作openstack的rpm包

2、制作livecd:livecd-tools开源工具、kickstart文件定制( *** 作系统裁剪)

iso安装

livecd的安装不能使用anaconda安装工具,需要自行写作脚本程序(shell或python等),脚本大致流程如下:

(1)执行安装脚本,入参为目的安装磁盘(例如/dev/sda)

(2)安装脚本完成清理磁盘工作,物理卷(pv)、卷组(vg)、逻辑卷(lv)、磁盘分区等

(3)安装脚本完成创建分区的工作(例如创建两个分区/dev/sda1、/dev/sda2,磁盘分区选择mbr类型,/dev/sda1设置为boot类型分区)

(4)安装脚本找到根文件系统文件所绑定的loop设备(例如/dev/loop3),将其内容复制到/dev/sda1

(5)安装脚本生成启动引导程序(例如extlinux),确保后续系统可以从硬盘启动

(6)安装脚本完成其他工作,例如设置root账户密码,将剩余磁盘空间生成vg等

1、脚本实现参考ovirt-node开源软件代码

2、系统引导相关知识

(1)启动引导程序,grub、extlinux

(2)磁盘分区格式,mbr、gpt、EFI

3、磁盘相关工具,parted、fdisk、blkid、pvcreate等

pxe安装

pxe服务器搭建

备选1:使用tftp、dhcp等自行搭建pxe服务器

备选2:选择一个业界成熟的具备pxe能力的安装配置工具

本方案选择cobbler开源工具

制作的livcecd能够支持pxe流程

备选1:使用livecd-iso-to-pxe工具将iso封装成vmlinuz和initrd.img(200多MB)两个文件,可以通过标准pxe流程引导

备选2:制作一个mini镜像(50MB以内)用于pxe引导,mini镜像中植入安装脚本,安装脚本启动后,再将真正的镜像文件下载到光盘镜像环境并安装

本方案当前已实现备选1,后续会尝试备选2

pxe能支持大规模批量部署,可靠性好

1、使用以上“制作的livcecd能够支持pxe流程”备选1时,initrd.img大概200-300MB,pxe使用tftp协议不可靠,故需要使用gpxe

2、使用以上“制作的livcecd能够支持pxe流程”备选2时,需要下载镜像到本地,可以引入p2p技术,加速下载过程

pxe能够跨vlan部署服务器

交换机配置dhcp中继、dhcp服务配置为不同vlan服务器分配对应网段ip

1、cobbler的配置和使用

2、mini镜像的运行机制

3、gpxe机制及配置

4、p2p功能(bittorrent开源软件)的引入

5、交换机dhcp配置

配置本方案需求是解决第一次openstack节点的配置问题,使用业界成熟的配置工具即可,例如puppet、salt等salt开源软件

关键技术点

1、制作livecd

介绍:

livecd是redhat体系提供的一种镜像格式,制作的iso可以直接启动,当然也可以安装到硬盘上。现在centos、fedora每个版本发布的repo都包含了已编译出的livecd iso。例如CentOS-6.4-x86_64-LiveCD.iso。也可以到其官方网站下载

步骤:

(1)执行以下命令,安装redhat openstack Grizlly的yum文件

yum install -y http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly-2.noarch.rpm

(2)制作ks文件:可以在互联网上找一个标准的centos的ks文件作为模板,然后进行修改,将openstack的rpm包信息添加到ks文件中,则出iso时会自动安装openstack的rpm包

(3)安装livecd-tools rpm包

(4)执行以下命令出iso

livecd-creator --config=centos-livecd-minimal.ks --fslabel=openstack-LiveCD -d --shell

困难:

实际 *** 作过程中,碰到的最大困难是一开始在一个裁剪版centos ks文件基础上制作openstack iso。后续openstack系统运行时由于依赖包不全出现各种报错。解决办法是先在一个完备的ks基础上制作openstack iso,在openstack可以正常运后,再做系统裁剪

相关参考:

https://fedoraproject.org/wiki/How_to_create_and_use_a_Live_CD/zh-cn

http://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-kickstart2-file.html

http://jgershater.ulitzer.com/node/2701636?page=0,1

2、写作脚本,将livcd安装到OS中,流程及所用到系统命令如下:

(1)找到livecd中文件系统所挂载的设备,例如ext3fs.img挂载到了/dev/loop3上

losetup -a |grep ext3fs.img

(2)将img拷贝到目的磁盘分区中,例如/dev/vda1

cat /dev/loop3 /dev/vda1

(3)安装bootloader,用的是extlinux,这样下次就可以从硬盘启动了

cat /usr/share/syslinux/mbr.bin >dev/vda #写入mbr

blkid -o value -s UUID /dev/vda1 #生成分区的uuid

mkdir /mnt/tmp #生成临时目录

mount /dev/vda1 /mnt/tmp #将根分区mount到临时目录

extlinux -i /mnt/tmp/boot/ #使用extlinux工具制作启动目录

extlinux --clear-once /mnt/tmp/boot/

cp -rf /dev/.initramfs/live/isolinux/* /mnt/tmp/boot/

mv /mnt/tmp/boot/isolinux.cfg /mnt/tmp/boot/extlinux.conf

sed -i 's/live:CDLABEL=.* /UUID=uuid /' /mnt/tmp/boot/extlinux.conf #uuid是上面生成的

sed -i 's/ ro / /' /mnt/tmp/boot/extlinux.conf

sed -i 's/ rd.live.image / /' /mnt/tmp/boot/extlinux.conf

umount /dev/vda1

到此,重启服务器就可以从硬盘启动了

相关参考:

http://www.syslinux.org/wiki/index.php/EXTLINUX

http://molinux.blog.51cto.com/2536040/548247

3、配置pxe服务器,通过pxe方式批量安装openstack节点

介绍:

关于集成pxe的部署工具,在开源社区有很多,例如xcat、cobbler,工具各有特点,本次考虑使用cobbler

步骤:

(1)参照网上资料,完成cobbler的基本搭建

(2)将livecd iso部署到cobbler中作为repo 。livecd本身是不支持pxe加载的,为支持此功能,需先使用livecd-iso-to-pxeboot工具,将iso生成vmlinuz和initrd0.img文件,然后将这两个文件部署到cobbler中。 其核心思想是将livced中的内存文件系统制作成ramdisk文件,就可以通过pxe流程引导启动到内存文件系统了。相关命令如下:

iso="openstack" #变量定义

livecd-iso-to-pxeboot $iso.iso #生成vmlinuz和initrd0.img文件

#部署vmlinuz和initrd0.img文件

cobbler distro add --name=$iso --kernel=/var/www/html/iso/$iso/tftpboot/vmlinuz0 --initrd=/var/www/html/iso/$iso/tftpboot/initrd0.img

cobbler distro edit --name=$iso --kopts='root=live:/'$iso.iso' rootfstype=auto rootflags=ro !text !lang !ksdevice installserverip='$serverIp

cobbler profile add --name=$iso --distro=$iso

到此,就可以通过pxe加载openstack的livced iso中

(3)使用cobbler加载openstack livecd

(4)livecd 加载起来后,可以手工执行以上介绍的“将livcd安装到OS中”脚本将系统安装到硬盘中。也可以在制作iso时写入系统自启动命令自动执行安装脚本

4、改进pxe加载的性能和可靠性

介绍:pxe下载vmlinuz和initrd0.img采用tftp协议,此协议在大规模并发下载大文件(ramdisk文件有200多MB)可能出现引导慢或者不稳定。业界推荐的替换方式是使用gpxe。gpxe的核心改进是可以用http协议代替tftp协议来下载

步骤:

1、配置cobbler打开gpxe开关,配置项为enable_gpxe

2、重启服务器/虚拟机,观察是否会变更为进入gpxe加载流程。

结果:gpxe安装虚拟机正常,但是安装服务器则一直进入不到http下载vmlinuz和initrd0.img的流程。经定位发现服务器网卡并不支持gpxe特性,而虚拟机的网卡是模拟的,可以支持gpxe。

疑问:如何能够同时支持pxe和gpxe,且对应不同服务器/虚拟机,自动采用合适方式呢?

答案:经分析,网卡发起dhcp请求时,会携带pxe支持情况的相关信息。可以配置dhcp server根据不同情况做对应处理。当网卡支持gpxe时,会进入gpxe分支代码,则从http://186.100.8.248/cblr/svc/op/gpxe/system/735135b1-d72f-47f2-9f1d-13c63e75dc9c获取下载vmlinuz和initrd0.img的http地址。

/etc/dhcp/dhcpd.conf中配置举例如下。

hardware ethernet 00:16:6D:AD:86:33

if exists user-class and option user-class = "iPXE" {

filename "http://186.100.8.248/cblr/svc/op/gpxe/system/735135b1-d72f-47f2-9f1d-13c63e75dc9c"

} else if exists user-class and option user-class = "gPXE" {

filename "http://186.100.8.248/cblr/svc/op/gpxe/system/735135b1-d72f-47f2-9f1d-13c63e75dc9c"

} else {

filename "undionly.kpxe"

}

http://186.100.8.248/cblr/svc/op/gpxe/system/735135b1-d72f-47f2-9f1d-13c63e75dc9c对应动态配置如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12132834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存