VS2005/2008 connect with Device的方法

本文介绍了如何使用Visual Studio 2005/2008进行设备连接调试的方法,包括配置项目的属性来指定远程调试目录及可执行文件的位置。

// Topic:VS2005/2008 connect with Device的方法

// 作者:GARY

// 版权:GARY (garylijs@gmail.com)

// 平台:VS2005,VS2008

// 发布日期:2011年05月18日

// 最后修改:

//技术论坛:blog.youkuaiyun.com/WinCE9

// 注意事项:商业网站未经作者同意不能转载,并且不能删除文章的任何部分,否则追究责任!

//-------------------------------------------------------------------------------------------------

 

这个问题很简单,但对初学者,可能还不是很熟悉,具体方法如下。

A. 打开VSProject菜单,选项目properties…

B. 在弹出的窗口里,选择configuration properties-àDevelopment-àRemote Directoryà/Test Root; configuration properties-àDebugging-àRemote executable-à/Test Root/Test.exe;

C. 这样就可以在自己希望的目录里DEBUG你的AP了。当然,如果这里不做设置,那VS有默认的,例如Root, Program files, Windows,不过那个有时候在调试时不方便,或掉电东西就没了。

 

<think>我们正在处理tgtd服务和LVM集群锁相关的错误问题。根据用户描述,错误包括:1.`tgtdcouldnotopen/dev/md0Nosuchfileordirectory`2.`pvcreateconnectfailedlocalsocketConnectionrefused`3.`Internalclusterlockinginitialisationfailed`这些错误通常与集群环境下的存储配置有关,特别是使用LVM集群锁(clvmd)时。首先,分析错误原因:1.`/dev/md0`不存在:可能是MD(多设备)RAID阵列未正确激活或不存在。2.`pvcreate`连接失败:可能是由于tgtd服务(iSCSItarget服务)未运行,或者clvmd服务(集群LVM守护进程)未正确运行,导致无法在集群范围内创建物理卷。3.集群锁初始化失败:这通常表明clvmd服务未运行或配置不正确。接下来,我们参考引用[1]中提供的集群操作(虽然引用是关于Apache服务迁移,但集群管理命令类似),我们可以使用集群管理工具(如`clustat`,`clusvcadm`)来检查和管理集群服务。解决方案步骤:1.**检查RAID阵列状态**:确保`/dev/md0`存在。使用以下命令检查RAID状态:```bashcat/proc/mdstatmdadm--detail/dev/md0```如果阵列未激活,尝试激活:```bashmdadm--assemble--scan```2.**检查并启动tgtd服务**:tgtd服务是iSCSItarget守护进程,如果它没有运行,可能会导致设备无法访问。```bashsystemctlstatustgtd#检查状态systemctlstarttgtd#启动服务systemctlenabletgtd#设置开机启动```3.**检查并启动clvmd服务**:clvmd是集群LVM的守护进程,负责在集群节点间同步LVM元数据变更。```bashsystemctlstatusclvmd#检查状态systemctlstartclvmd#启动服务systemctlenableclvmd#设置开机启动```4.**检查集群状态**:使用集群管理工具检查集群和服务的状态。```bashclustat#查看集群状态#如果clvmd服务没有运行,尝试在集群中启动它clusvcadm-eclvmd#启用clvmd服务```5.**配置LVM使用集群锁**:确保LVM配置为使用集群锁。编辑`/etc/lvm/lvm.conf`文件:```bash#设置使用集群锁locking_type=3#并确保以下设置正确use_lvmetad=0```然后,重新加载配置或重启clvmd服务。6.**创建物理卷(PV)**:在确保`/dev/md0`存在且集群锁服务运行正常后,再次尝试创建PV:```bashpvcreate/dev/md0```7.**如果问题仍然存在**,检查集群通信和锁管理:-确保集群中的所有节点时间同步(使用NTP)。-检查集群配置文件(如`/etc/cluster/cluster.conf`)是否正确。-使用`cman_toolstatus`检查集群成员状态。注意:在集群环境下,对共享存储的操作(如pvcreate)需要在集群锁的保护下进行,否则可能导致元数据损坏。如果上述步骤不能解决问题,请提供更多错误日志(如通过`journalctl-utgtd-uclvmd`查看日志)。最后,根据用户的问题,生成相关问题:1.如何配置iSCSItarget服务(tgtd)?2.在集群环境中如何正确管理LVM?3.如何诊断和修复集群通信问题?</think>### 解决 tgtd 和 LVM 集群锁错误的解决方案 #### 错误分析 1. **`tgtd could not open /dev/md0`** - 表明 iSCSI target 服务无法访问 RAID 设备 `/dev/md0`,可能原因: - RAID 阵列未激活或配置错误 - 设备路径不存在或权限不足 - 服务启动顺序错误(需先激活存储再启动 tgtd) 2. **`pvcreate connect failed`** - LVM 无法连接到集群锁守护进程(clvmd),可能原因: - `clvmd` 服务未运行或崩溃 - 防火墙阻止了集群节点间的通信 - LVM 配置文件 (`lvm.conf`) 锁定类型配置错误 3. **`Internal cluster locking initialisation failed`** - 集群锁初始化失败,直接关联到 `clvmd` 服务异常,通常由: - 集群配置不一致(如 `cluster.conf` 文件不同步) - 节点间心跳通信故障 - 资源未正确迁移(参考引用中的资源迁移操作[^1]) --- #### 解决步骤 1. **激活 RAID 设备** ```bash # 检查 RAID 状态 cat /proc/mdstat mdadm --detail /dev/md0 # 若未激活,手动组装阵列 mdadm --assemble --scan ``` 2. **启动关键服务** ```bash # 确保服务启动顺序:先存储后集群 systemctl start mdmonitor # 监控 RAID systemctl start clvmd # 集群 LVM 锁 systemctl start tgtd # iSCSI target systemctl start cman # 集群管理器 # 验证服务状态 systemctl status clvmd tgtd cman ``` 3. **配置 LVM 集群锁** 编辑 `/etc/lvm/lvm.conf`: ```ini locking_type = 3 # 启用集群锁 use_lvmetad = 0 # 禁用 lvmetad(与集群锁冲突) ``` ```bash # 重载配置 pvscan --cache systemctl restart clvmd ``` 4. **修复集群通信** - **同步集群配置**: 确保所有节点的 `/etc/cluster/cluster.conf` 完全一致,使用 `ccs_tool` 同步: ```bash ccs_tool update /etc/cluster/cluster.conf ``` - **检查防火墙**: 开放集群通信端口(如 5404, 5405 UDP): ```bash firewall-cmd --add-port=5404-5405/udp --permanent firewall-cmd --reload ``` - **验证节点状态**: ```bash clustat # 检查节点是否 "Quorate"(参考引用中的集群状态输出[^1]) cman_tool nodes ``` 5. **资源迁移(若需故障转移)** 参考引用中的资源迁移命令[^1]: ```bash clusvcadm -r [服务名] -m [目标节点] # 如 clusvcadm -r clvmd -m node2 ``` 6. **重建 LVM 元数据(最后手段)** ```bash # 在激活 clvmd 后执行 pvcreate /dev/md0 --force # 强制重建 PV vgcreate vg_cluster /dev/md0 # 创建卷组 vgchange -c y vg_cluster # 启用集群模式 ``` --- #### 关键注意事项 - **启动顺序**: RAID → 集群管理器 (`cman`) → 集群锁 (`clvmd`) → iSCSI (`tgtd`)。 - **配置一致性**: 所有节点的 `cluster.conf` 和 `lvm.conf` 必须完全一致。 - **日志诊断**: 使用 `journalctl -u clvmd -u tgtd -f` 实时跟踪错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值