热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CEPHLIOiSCSIGateway及其使用参考文档

本文介绍了CEPHLIOiSCSIGateway以及使用该网关的参考文档,包括CephBlockDevice、CEPHISCSIGATEWAY、USINGANISCSIGATEWAY等。同时提供了多个参考链接,详细介绍了CEPHLIOiSCSIGateway的配置和使用方法。

参考文档:



  1. Ceph Block Device:http://docs.ceph.com/docs/master/rbd/

  2. CEPH ISCSI GATEWAY:http://docs.ceph.com/docs/master/rbd/iscsi-overview/

  3. USING AN ISCSI GATEWAY:https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html/block_device_guide/using_an_iscsi_gateway

  4. 参考1:https://ceph.com/planet/ceph%E7%9A%84iscsi-gateway/

  5. 参考2:http://blog.51cto.com/devingeng/2125656

  6. 参考3:https://blog.csdn.net/hedongho/article/details/80573989

  7. 参考4:https://www.jianshu.com/p/a6d03fe5290e

  8. 参考5,LIO iSCSI Target:https://blog.csdn.net/shajc0504/article/details/40928923

  9. CEPH ISCSI三种网关:http://xiaqunfeng.cc/2018/02/28/ceph-iscsi%E7%BD%91%E5%85%B3/

  10. tgt方式挂载ceph rbd:https://my.oschina.net/renguijiayi/blog/340666

  11. tgtadm使用(tgt方式):https://blog.csdn.net/chenyulancn/article/details/52993806


  12. iscsiadm使用:https://boke.wsfnk.com/archives/360.html


一.TGT && LIO

1. Ceph Block框架


2. Ceph iSCSI基本框架

iSCSI gateway的实现主要有TGT && LIO两种方式。


3. TGT

TGTLinux target framework,为创建、维护SCSI target 驱动(包括iSCSI、FC、SRP等)提供支持。



  1. 工作在用户空间;

  2. 在Linux 2.6.38 版本后(含),内核集成了 Linux-IO Target。

在ceph集成原生iscsi之前,通常使用基于用户空间的"scsi-target-utils"套件实现tgt。

基于centos7.x系列,安装"scsi-target-utils"套件后,iscsi并不支持ceph rbd后端存储(通过"tgtadm --lld iscsi --mode system --op show"查看),主要原因是redhat针对套件屏蔽了支持ceph rbd后端存储的代码。

解决方案:通过"rbd map xxx"将ceph rbd挂载到本地后,再通过iscsi tgt的"direct-store"模式发布ceph块存储。

方案缺点:"rbd map xxx"挂载ceph rbd是通过"ceph rbd kernel module"的形式,tgt在用户空间实现,导致发布的ceph rbd在内核态与用户态之间频繁切换,影响性能。


4. LIO

LIOLinux-IO Target,用软件实现各种SCIS Target。



  1. 工作在内核空间;

  2. 支持较多传输协议,如Fibre Channel(Qlogic,linux3.5)、FCoE(linux3.0)、iSCSI(linux 3.1)、iSER (Mellanox InfiniBand,linux3.10), SRP (Mellanox InfiniBand,linux3.3), USB等;

  3. 对 iSCSI RFC 规范的支持非常好,包括完整的错误恢复都有支持;

  4. 从内核 3.17 开始引入用户态后端支持,即 TCMU(Target Core Module in Userspace)

  5. 在Linux 2.6.38 版本后(含),内核集成了 Linux-IO Target。

本文主要介绍基于LIO的ceph原生iscsi 实现方式,LIO利用用户空间直通(即TCMU)与ceph的librbd库进行交互(tcmu-runner处理LIO TCM后端存储的用户空间端的守护进程,在内核之上多了一个用户态的驱动层,这样只需要根据tcmu的标准来对接接口即可,而不用去直接与内核进行交互),并将rbd image暴露给iSCSI客户端。


二.环境准备

1. 内核/软件要求(iscsi gateway)



  1. A running Ceph Luminous or later storage cluster,本文采用:13.2.1 mimic (stable);

  2. RHEL/CentOS 7.5; Linux kernel v4.16 or newer; or the Ceph iSCSI client test kernel,本文采用:CentOS 7.5 with Linux kernel v4.18.8-1.el7.elrepo.x86_64;


  3. The following packages must be installed from your Linux distribution's software repository:

    targetcli-2.1.fb47 or newer package,本文采用:2.1.fb47;

    python-rtslib-2.1.fb64 or newer package,本文采用:2.1.fb64-3;

    tcmu-runner-1.3.0 or newer package,本文采用:1.3.0-0.4.2;

    ceph-iscsi-config-2.4 or newer package,本文采用:2.5-1;

    ceph-iscsi-cli-2.5 or newer package,本文采用:2.5-10。

    以上rpm包并不能直接下载,整理本文采用的rpm包如下,链接:https://pan.baidu.com/s/1i-0GLqxjMv3P3c3YYoyhiQ 密码:ncxv




2. 安装要求(iscsi gateway)



  1. ntp已部署,selinux已禁用;

  2. 除ceph集群需要开放的端口外,另开放tcp 3260(iscsi通信)与tcp 5000(rbd-target-api)端口,本文不启用firewalld或iptables;

  3. ceph集群已部署,可参考:https://www.cnblogs.com/netonline/p/9367802.html;

  4. 如果iscsi gateway与osd节点没有融合部署,需要复制ceph的配置文件(即/etc/ceph/目录下相关文件)到iscsi gateway所在节点,本文采用融合部署。


3. 主机








































Hostname


IP


Service


Remark


ceph01


public:172.30.200.57

cluster:192.30.200.57


 

centos7.5 with kernel v4.18.7-1


ceph02


public:172.30.200.58

cluster:192.30.200.58


 

centos7.5 with kernel v4.18.7-1


ceph03


public:172.30.200.59

cluster:192.30.200.59


 

centos7.5 with kernel v4.18.7-1


ceph-client


172.30.200.50


 

iscsi-initiator-utils v6.2.0.874-7

device-mapper-multipath v0.4.9-119



4. 修改ceph集群配置参数(option)

针对ceph-mon或osd节点,并没有特殊的iscsi-gateway参数选项,但降低若干默认的检测osd宕机时间,可以有效降低initiator的连接超时。

# 可在ceph-mon节点修改ceph.conf文件后分发到所有节点,如:
[root@ceph01 ~]# su - cephde
[cephde@ceph01 ~]$ cd cephcluster/
[cephde@ceph01 cephcluster]$ cat ceph.conf
# 新增参数
[osd]
osd client watch timeout = 15
osd heartbeat grace = 20
osd heartbeat interval = 5
# 分发,需要重启服务
[cephde@ceph01 cephcluster]$ ceph-deploy admin ceph01 ceph02 ceph03
# 通过ceph-deply节点,在线修改参数,如下:
[cephde@ceph01 cephcluster]$ sudo ceph tell osd.* config set osd_client_watch_timeout 15
[cephde@ceph01 cephcluster]$ sudo ceph tell osd.* config set osd_heartbeat_grace 20
[cephde@ceph01 cephcluster]$ sudo ceph tell osd.* config set osd_heartbeat_interval 5


三.iSCSI Gateway

1. 安装iscsi gateway

# 为了多路径高可用,iscsi gateway在多osd节点部署,下面以ceph01节点为例,其余节点类似,必要时根据节点做调整;
# 下载必需的软件后,利用”yum localinstall *”统一安装,可解决依赖问题,建议官网下载https://github.com/ceph/ceph-iscsi
#关闭防火墙 iptables -F
[root@ceph01 ~]# cd ~/ceph-iscsi/
[root@ceph01 ceph-iscsi]# yum localinstall * -y

2. 配置iscsi-gateway.cfg

# 在osd节点/etc/ceph/目录下创建iscsi-gateway.cfg文件,所有iscsi-gateway节点配置内容相同,以ceph01节点为例;
# iscsi-gateway.cfg文件中,只需要根据实际情况修改trusted_ip_list,其是每个iscsi网关上的ip地址列表,用于管理操作,如目标创建,LUN导出等;
# trusted_ip_list可与用于iSCSI数据的ip相同,但条件允许时推荐使用分离的IP
[root@ceph01 ~]# touch /etc/ceph/iscsi-gateway.cfg
[root@ceph01 ~]# vim /etc/ceph/iscsi-gateway.cfg
[config]
# Name of the Ceph storage cluster. A suitable Ceph configuration file allowing
# access to the Ceph storage cluster from the gateway node is required, if not
# colocated on an OSD node.
cluster_name = ceph
# Place a copy of the ceph cluster's admin keyring in the gateway's /etc/ceph
# drectory and reference the filename here
gateway_keyring = ceph.client.admin.keyring
# API settings.
# The API supports a number of options that allow you to tailor it to your
# local environment. If you want to run the API under https, you will need to
# create cert/key files that are compatible for each iSCSI gateway node, that is
# not locked to a specific node. SSL cert and key files *must* be called
# 'iscsi-gateway.crt' and 'iscsi-gateway.key' and placed in the '/etc/ceph/' directory
# on *each* gateway node. With the SSL files in place, you can use 'api_secure = true'
# to switch to https mode.
# To support the API, the bear minimum settings are:
api_secure = false
# Additional API configuration options are as follows, defaults shown.
# api_user = admin
# api_password = admin
# api_port = 5001
trusted_ip_list = 172.30.200.57,172.30.200.58,172.30.200.59 


3. 创建rbd pool

# rbd-target-api依赖于rbd-target-gw,rbd-target-gw服务依赖于”rbd”池的提前建立,且pool的名字必须是”rbd”;
[root@ceph01 ~]# ceph osd pool create rbd 256
# 创建pool后需要启动pool的属性,如块存储池”rbd”,属性关键字在最后
[root@ceph01 ~]# ceph osd pool application enable rbd rbd

# 查看pool,或”ceph osd lspools”,” ceph osd pool ls“,”rados df”等
[root@ceph01 ~]# ceph osd pool get rbd all


4. 启动iscsi-gateway api服务

# 服务需要在所有iscsi-gateway节点启动,以ceph01节点为例;
# 在启动”rbd-target-api”服务的同时,会启动”rbd-target-gw”服务;
# 注意提前创建”rbd” pool,rbd-target-api依赖于rbd-target-gw,rbd-target-gw服务依赖于”rbd”池
[root@ceph01 ~]# systemctl daemon-reload
[root@ceph01 ~]# systemctl enable rbd-target-api
[root@ceph01 ~]# systemctl start rbd-target-api
[root@ceph01 ~]# systemctl status rbd-target-api ; systemctl status rbd-target-gw


5. 创建iscsi-target与rbd image

iscsi-gateway命令行工具gwcli用于创建/配置iscsi-target与rbd image;其余较低级别命令行工具,如targetcli或rbd等,可用于查询配置,但不能用于修改gwcli所做的配置。

创建iscsi-target与rbd image在1个节点操作即可,以下操作在ceph01节点完成。


1)gwcli

# 进入gwcli命令行工具后,通过”ls”可查看目录,通过”cd”可切换目录
[root@ceph01 ~]# gwcli
Warning: Could not load preferences file /root/.gwcli/prefs.bin.
/> ls


2)创建iscsi-target

# 在iscsi-target目录下创建iscsi-target;
# iscsi-target命名规则:iqn.yyyy-mm.:identifier,即iqn.年-月.反转域名:target-name,这里没有域名,采用ip地址替代;
# 在新创建的iscsi-target下,同步生成gateway,host-groups,hosts目录
/> cd /iscsi-target
/iscsi-target> create iqn.2018-09.172.30.200.5x:iscsi-gw
/iscsi-target> ls


3)创建iscsi-gateway

# 在新创建的iscsi-target下同步生成gateway目录下创建iscsi-gateway;
# iscsi-gateway的ip采用用于iscsi数据的ip,也可与trusted_ip_list设置的ip相同,建议采用前者;
# iscsi-gateway 的名字同主机hostname;
# 为了多路径ha,iscsi-gateway至少配置2个;
# 如果没有使用指定版本的OS或者内核,或者采用ceph-iscsi-test内核时,可在创建iscsi-gateway命令后带上”skipchecks=true”,跳过内核检测
/iscsi-target> cd iqn.2018-09.172.30.200.5x:iscsi-gw/gateways
/iscsi-target...i-gw/gateways> create ceph01 172.30.200.57
/iscsi-target...i-gw/gateways> create ceph02 172.30.200.58
/iscsi-target...i-gw/gateways> create ceph03 172.30.200.59
/iscsi-target...i-gw/gateways> ls


4)创建rbd image

# 在命令行根目录的disks目录下创建image;
# 创建image时,需要指定pool,image-name与size
/iscsi-target...i-gw/gateways> cd /disks
/disks> create pool=rbd image=disk01 size=10G
/disks> ls


6. 设置initiator

# 在新创建的iscsi-target下同步生成hosts目录下设置initiator;
# initiator-name同iscsi-target命名类似,或在已有initiator客户端的情况下,采用客户端默认的initiator-name,centos系统可查看”/etc/iscsi/initiatorname.iscsi”文件获取;
# 创建initiator-name后,自动进入initiator-name目录
/disks> cd /iscsi-target/iqn.2018-09.172.30.200.5x:iscsi-gw/hosts
/iscsi-target...scsi-gw/hosts> create iqn.2018-09.172.30.200.50:iscsi-initiator
/iscsi-target...csi-initiator> ls

# 设置CHAP认证(非必须),否则iscsi-target会拒绝initiator的登陆请求;
# 在新建的initiator-name目录下设置认证
/iscsi-target...csi-initiator> auth chap=iscsiname/iscsipassword
/iscsi-target...csi-initiator> ls


7. 添加image到initiator

# 在新建的initiator-name目录下向initiator添加image;
# 添加成功后,对应initiator下有可被挂载的lun设备;
# 此时多台iscsi-gateway主机iscsi-gateway ip的tcp 3260端口被监听
/iscsi-target...csi-initiator> disk add rbd.disk01
/iscsi-target...csi-initiator> ls

# 查看全局目录层级,cluster目录针对ceph集群;
# disk与iscsi-target目录针对iscsi-target与rbd image的创建与配置;
# 同时可通过targetcli命令行工具或者ceph的rbd命令查询已完成的配置
/iscsi-target...csi-initiator> cd /
/> ls


四.iSCSI initiator

查看官网,iscsi initiator目前支持linux,windows与vmware esx,这里只针对linux做验证。


1. 安装initiator与multipath工具

# iscsi-initiator-utils是通用initiator套件;
# device-mapper-multipath是多路径工具
[root@ceph-client ~]# yum install iscsi-initiator-utils device-mapper-multipath -y 

2. 设置multipath服务

# 启用multipath服务,生成”/etc/multipath.conf”文件
[root@ceph-client ~]# mpathconf --enable --with_multipathd y
# 在”/etc/multipath.conf”文件新增配置,针对LIO后端存储设置多路径ha
[root@ceph-client ~]# vim /etc/multipath.conf
devices {
device {
vendor "LIO-ORG"
hardware_handler "1 alua"
path_grouping_policy "failover"
path_selector "queue-length 0"
failback 60
path_checker tur
prio alua
prio_args exclusive_pref_bit
fast_io_fail_tmo 25
no_path_retry queue
}
}
# 重新加载multinpath服务
[root@ceph-client ~]# systemctl reload multipathd 


3. iscsi discovery


1)设置chap认证

# 开启initiator的chap认证,并设置username/password,与iscsi-target设置保持一致;
# CHAP Settings部分,涉及57/61/62行
[root@ceph-client ~]# vim /etc/iscsi/iscsid.conf
node.session.auth.authmethod = CHAP
node.session.auth.username = iscsiname
node.session.auth.password = iscsipassword 


2)设置initiatoe-name

# 设置initiator-name,保持与iscsi-target设置的initiator-name一致
[root@ceph-client ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-09.172.30.200.50:iscsi-initiator 

3)发现iscsi-target

# 发现iscsi存储:iscsiadm -m discovery -t st -p ISCSI_IP,ISCSI_IP默认采用3260端口;
# 查看iscsi发现记录:iscsiadm -m node
# 删除iscsi发现记录:iscsiadm -m node -o delete -T LUN_NAME -p ISCSI_IP
[root@ceph-client ~]# iscsiadm -m discovery -t st -p 172.30.200.57


4)登陆iscsi-target

# 登录iscsi存储:iscsiadm -m node -T LUN_NAME -p ISCSI_IP -l
# 登出iscsi存储:iscsiadm -m node -T LUN_NAME -p ISCSI_IP -u
# 显示会话情况,验证gw,不需要验证client iqn,查看内核日志是否验证错误:iscsiadm -m session
[root@ceph-client ~]# iscsiadm -m node -T iqn.2018-09.172.30.200.5x:iscsi-gw -l

# 1个后端存储,通过3条路径连接 vmware找不到mpapath目前无解
[root@ceph-client ~]# multipath -ll

# 通过多路径连接后端存储,生成多个盘符;
# 通过multipath服务汇聚,生成盘符/dev/mapper/mpathx,mount时间直接使用;
# 或:lsscsi
[root@ceph-client ~]# fdisk -l


4. mount验证

# 创建分区,分区类型与大小默认即可;
# 保存退出后会有1个报错,可忽略
[root@ceph-client ~]# fdisk /dev/mapper/mpatha
Command (m for help): n
Select (default p):
Partition number (1-4, default 1):
First sector (8192-20971519, default 8192):
Last sector, +sectors or +size{K,M,G} (8192-20971519, default 20971519):
Command (m for help): w
# 格式化分区
[root@ceph-client ~]# mkfs.xfs /dev/mapper/mpatha1
# 挂载分区
[root@ceph-client ~]# mount /dev/mapper/mpatha1 /mnt
# 查看挂载情况
[root@ceph-client ~]# df -Th


5. 设置开机启动挂载

# filesystem parameters列设置挂载时间;
# noatime:禁止更新文件与目录的inode访问时间,以获得更快的访问速度;
# _netdev:标识文件系统位于网络上,防止网络启动前挂载
[root@ceph-client ~]# vim /etc/fstab
# rbd
/dev/mapper/mpatha1 /mnt xfs noatime,_netdev 0 0


五.iSCSI Gateway Monitoring

ceph提供了1个监控导出的rbd image的性能的工具gwtop。

gwtop类似top,可显示通过iSCSI导出到客户端的rbd image的聚合性能指标,度量值取自Performance Metrics Domain Agent (PMDA)。Linux-IO target (LIO) PMDA信息列出每个导出的rbd image与客户端的连接,以及关联的I/O值。


1. 安装gwtop

# 在已部署iscsi-gateway的节点安装,以ceph01节点为例;
# pcp是性能采集工具,pcp-pmda-lio是agent
[root@ceph01 ~]# yum install ceph-iscsi-tools pcp pcp-pmda-lio -y
# 启动服务
[root@ceph01 ~]# systemctl enable pmcd
[root@ceph01 ~]# systemctl start pmcd
[root@ceph01 ~]# systemctl status pmcd

# 注册pcp-pmda-lio agent
[root@ceph01 ~]# cd /var/lib/pcp/pmdas/lio
[root@ceph01 lio]# ./Install


2. gwtop输出样例

# 在client列中,”(CON)”表示initiator已连接到iscsi-gateway,”-multi-”表示多client连接到单rbd image;
# 可以通过在client写入数据,如”dd”命令查看gwtop的输出
[root@ceph01 lio]# gwtop

 

 

https://www.cnblogs.com/netonline/archive/2019/02/25/10432653.html


原文链接:https://www.cnblogs.com/cheyunhua/p/15765867.html



推荐阅读
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
author-avatar
寒宝儿_____
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有