精选列表

搜索[centos7],共1048篇文章
优秀的个人博客,低调大师

kubernetes(2):Centos7 安装 kubernetes 1.5 版本

1,kubernetes 安装 centos 7 已经集成了kubernetes 1.5 直接安装就可以了。 非常的简单,方便。 yum install kubernetes etcd docker 同时会,安装一个kubernetes-client kubernetes-master kubernetes-node 运维也是非常的方便了。1.5.2-0.2 centos 已经把kubernetes 加入到了官方的源里面了。 把服务都拉起来: systemctl enable docker etcd flanneld systemctl start docker etcd flanneld systemctl enable kube-apiserver kube-scheduler kube-controller-manager kubelet kube-proxy systemctl start kube-apiserver kube-scheduler kube-controller-manager kubelet kube-proxy 先啥配置都不修改,看看能启动不。 2,查看 flanneld 配置文件 cat /etc/sysconfig/flanneld FLANNEL_ETCD_ENDPOINTS="http://127.0.0.1:2379" FLANNEL_ETCD_PREFIX="/atomic.io/network" 这里里面有个key 需要配置下。 设置网段: etcdctl set /atomic.io/network/config ‘{ “Network”: “10.1.0.0/16” }’ 否则docker启动不了。 报错: failed to retrieve network config: 100: Key not found (/atomic.io) 增加docker配置: vi /etc/sysconfig/docker OPTIONS='--selinux-enabled=false --graph=/data/docker --log-driver=journald --signature-verification=false' docker ps kubectl get rc kubectl get pods 3,下载镜像 开始做一个最简单的kubernetes 的hello world: 在redhat 上面已经修改成了使用redhat的docker了。 https://access.redhat.com/containers/ 直接从这个上面也可以搜索到镜像,直接下载。 # docker images REPOSITORY TAG IMAGE ID CREATED SIZE registry.access.redhat.com/rhscl/redis-32-rhel7 latest 205064dea85c 6 days ago 218.8 MB 测试了下,可以直接下载redis 镜像。 apiVersion: v1 kind: ReplicationController metadata: name: redis-master labels: name: redis-master spec: replicas: 1 selector: name: redis-master template: metadata: labels: name: redis-master spec: containers: - name: master image: registry.access.redhat.com/rhscl/redis-32-rhel7 ports: - containerPort: 6379 kubectl create -f redis-master-controller.yaml vi redis-master-service.yaml apiVersion: v1 kind: Service metadata: name: redis-master labels: name: redis-master spec: ports: # the port that this service should serve on - port: 6379 targetPort: 6379 selector: name: redis-master # kubectl get services NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes 10.254.0.1 <none> 443/TCP 6h redis-master 10.254.77.215 <none> 6379/TCP 2m 然后就可以看到服务了。非常好的。 不用将服务都启动起来。先跑跑看吧。以后在研究。 4,总结 本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/70159228 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys kubernetes已经成为了业界的标准了。事实上的标准。 使用centos的群体还是非常大的,再加上使用了systemctld 服务之后,运维更加方便了。 其实把kubernetes 理解成一个 centos的集群服务,一样的运维使用就好了。 再上面再开发自己的 paas 业务。 没有把整个的 kubernetes helloworld 跑起来,想自己开发一个 golang的东西,然后跑下。

优秀的个人博客,低调大师

centos7/rhel7新特性详解(2)

七、链路聚合 NIC teaming,简单的说就是多个物理端口绑定在一起当成一个逻辑端口使用,以便提高带宽,实现负载平衡或高可用的功能。RHEL7里面是通过runner (可以视作一段代码)来实现不同的目的。 配置的基本过程就是配置一个逻辑端口的连接,视作master;然后把需要的物理端口配置成slave 连接,绑定到组。然后把这个逻辑端口分配IP就可以用了 team:高可用性 首先准备两块网卡,它们有不同的MAC地址 创建一个新连接,类型是team连接名称team0。 activebackup表示热备,loadbalance表示负载均衡 master 配置好了,还得配置slave,即将eno16777736和eno33554960两块网卡加入到team0 执行nmcli connection show命令查看team0-1和team0-2的状态 上图可以看出team0-1和team0-2没有连接,执行下列命令连接team0-1和team0-2 执行ifconfig,发现网卡的地址都一样了,这样交换机才能转发包到同一个逻辑端口 最后给team0 分配一个IP地址(也可以直接用图形工具设置IP地址) 测试一下,先看看team0当前状态 关掉eno16777736的连接,自动切换到第二个物理端口了,测试成功 八、rhel7 grub配置文件及排错 RHEL7用了grub2,而不再是grub了 MBR分区的前446个字节存放的是系统引导程序grub,中间64字节是分区表,最后2个字节表示结束。那么什么是grub是怎么工作的呢? 简单的说,开机会经历以下几步: 1、BIOS自检,检查硬件; 2、激活MBR,MBR上不存在文件系统,可以视作硬件一部分,因此可以被直接读取 3、grub加载到内存,生成一个微系统,微系统内置了精简版的文件系统 4、通过这个微系统,他会去引导分区,比如默认一般是sda1上去找内核文件如vmlinuz,然后再调用grub的配置文件。 grub的主要把他的配置文件放在了3个地方。 /boot/grub2/grub.cfg(/etc/grub2.cfg是/boot/grub2/grub.cfg文件的符号链接) /etc/grub.d/ /etc/default/grub 如下所示。他们的关系是 grub.cfg里面通过 ####BEGIN ##### 这种格式按照顺序调用/etc/grub.d里面的脚本实现不同的功能。grub.d目录里面有很多数字开头的脚本,按照从小到大的顺序执行。以00__header为例,他又会调用 /etc/default/grub 配置文件来实现最基本的开机界面配置 例如:在/etc/grub2.cfg是文件里面调用 /etc/grub.d/10_linux 来配置不同的内核,这里面有2个 menuentry (菜单入口),所以我们开机的时候会看见两个默认选项,一个是普通模式,一个是救援模式 这个是/etc/default/grub 文件。和其他的脚本比较起来,非常简单直观了。后面会举例如何修改 需要注意的是,最好不要直接去修改 /etc/grub2.cfg 文件。这个是因为如果后期升级内核,所有的配置都会失效。如果需要自定义这个文件,我们可以修改对应的脚本或者 /etc/default/grub文件,然后通过 grub2-mkconfig 重新生成grub.cfg文件。 例1:修改启动的等待时间 rhel7默认启动等待时间为5秒,下面将启动时间修改为3秒(注:如果改为-1,那么每次启动时需手动确认才可以) 修改/etc/default/grub文件,如下图所示: 修改之后重新编译生成grub.cfg文件 例2:修改网卡的显示名字,这个前面做网络配置的时候提到过,这里不赘述了。 例3:加密grub 开机界面的时候如果输入e,会打开编辑窗口,我们可以根据需要进入rescue, emergency 或者 shell 模式。如何限制访问。 在/etc/grub.d/00_header 文件末尾,添加以下内容 重新编译生成grub.cfg文件 重启之后输入e,就需要用户和密码才能进入编辑窗口了 以上设置的是明文密码,那如何设置密文口令呢? 加密密码由命令grub2-mkpasswd-pbkdf2生成 在/etc/grub.d/00_header 文件末尾,添加以下内容 cat<<EOF setsuperusers=’用户名’ password_pbkdf2用户名加密密码 EOF 重新编译生成grub.cfg文件 grub2-mkconfig–o/boot/grub2/grub.cfg 重启验证 注:在文本终端模式下,安装并启用gpm后就可复制粘贴了。 在这个编辑窗口,我们可以根据需要进入 rescue,emergency和 shell引导的3种模式。这3种模式对于系统启动排错很有帮助,比如某个服务卡住了无法加载我们可以通过这3种模式来排错。 rescue模式: 在commandline的配置末尾添加s ,类似rhel6之前的单用户模式 按ctrl+x启动 普通模式需要加载的服务很多,但是这个rescue模式加载的就少很多了,输入管理员密码就可以进入了。 emergency模式和rescue模式类似,不过加载的服务更少,把s改成 emergency就行了 那么如果忘记root密码了怎么办? 方法1: 1、重启系统,按e 2、在linux16那行的最尾部加上一下信息 rd.breakconsole=tty0 3、按ctrl+x启动 4、重新挂载文件系统 5、改变根目录 6、修改root密码 7、在根目录下创建相关文件(用于重新标记selinux环境值) 8、退出,系统将会重启 方法2: 在linux16 的最后一行删除 rhgb quiet, 然后添加 init=/bin/sh, 他会用shell替代默认的daemon进程 按ctrl+x启动 挂载文件系统为可写模式,原因很简单,根目录加载的权限是ro,只读,重新加载成 rw的权限。 这个时候就可以修改密码了,执行passwd,按提示修改root密码 如何之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统: 创建这个文件会自动在开启的时候重新做标签即用于重新标记 SELINUX 环境值 运行命令exec /sbin/init来正常启动,或者用命令exec /sbin/reboot重启 注意:红帽考试时建议使用方法1,方法2在考试环境中以过时了。 开机排错 例1. grub故障:比如把MBR的前446个字节都覆盖了。 系统重启后则出现如下故障现象 开机的时候会自动尝试从本地,光盘和网络加载引导程序(如果光盘、网络等引导失败则会operatiing systemnot found);这里是从我的光盘加载的,因为本地的引导程序已经没有了. 选择troubleshooting (排错) 选择resure a red hat enterprise linux system 选择continue,注意有耐心多等一下,有的时候会卡个10秒才有反应 按照提示,切换根到本机的系统 fdisk -l 看看启动分区是哪个,有星号的就是 重装一下 grub2 到启动分区就可以了 重启就OK了 例2:如果grub引导程序没问题,但是我们把内核文件或者grub.cfg配置文件给删除了怎么办 重启之后,直接进入grub的救援模式,这表明引导程序木有问题,但是引导文件找不到了 和前面一样,光盘启动,切换根目录,挂载一下光盘到光盘挂载点, 顺便看看/boot目录,里面空荡荡的,内核文件和配置文件都没了 解决方法就是重新安装内核,可以用rpm 或者yum,用yum需要先卸载当前的,再安装; rpm可以强行--force覆盖安装。 装完内核之后,重新安装一次 grub2, 输入 grub2-install /dev/sda, 然后重新编译一下grub2就行了 重启系统就可以了。 重启之后,如果遇见以下问题: 问题是开机直接进入命令行模式,即使runlevel显示的是5,手动输入startx一样报错。 解决方式是重新安装图形化界面 yumgrouplist yumgroupinstall'ServerwithGUI' 九、磁盘分区、格式化及LVM管理 RHEL7如何对磁盘进行分区和格式化以及如何配置LVM,与以前版本的RHEL区别不大,可以通过disk工具(在图形桌面中运行)或命令工具(如:fdisk、gdisk、parted)管理硬盘设备。fdisk可以配置MBR格式; gdisk配置gpt格式, parted可以自己选择。 传统的硬盘分区都是MBR格式,MBR分区位于0扇区,他一共512字节,前446字节是grub引导程序,这个会在后面学习;中间64字节是分区表,每个分区需要16个字节表示,因此主分区和扩展分区一共只能有4个分区,超过4个的分区只能从扩展分区上再设置逻辑分区来表示。每个分区的大小无法超过2T。 MBR的最后2个字节是结束符号 GPT格式,打破了MBR的限制,可以设置多达128个分区,分区的大小根据操作系统的不同有所变化,但是都突破了2T空间的限制。支持高达 18EB(1EB=1024PB,1PB=1024TB) 的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。 与 MBR 分区的磁盘不同,GPT的分区信息是在分区中,而不象MBR一样在主引导扇区。为保护GPT不受MBR类磁盘管理软件的危害,GPT在主引导扇区建立了一个保护分区 (Protective MBR)的MBR分区表,这种分区的类型标识为0xEE,这个保护分区的大小在Windows下为128MB,Mac OS X下为200MB,在Window磁盘管理器里名为GPT保护分区,可让MBR类磁盘管理软件把GPT看成一个未知格式的分区,而不是错误地当成一个未分区的磁盘 在MBR硬盘中,分区信息直接存储于主引导记录(MBR)中(主引导记录中还存储着系统的引导程序)。但在GPT硬盘中,分区表的位置信息储存在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头。 GPT的结构如下图: 首先看看当前的硬盘信息 可以在/proc/partitions这个文件查看当前的分区 先试试MBR格式的分区,fdisk选项如下所示 输入n,可以创建新的MBR分区,然后输入p可以显示当前的分区状态 重复n的操作,添加其他分区。 注:MBR格式磁盘最多可以创建4个主分区或3个主分区1个扩展分区,在扩展分区中可以创建若干个逻辑分区。 注意id代表了磁盘的用途,可以通过t来改变 看看分区记录 gdisk和fdisk非常类似 创建新分区的时候可以看见可以有128个分区 parted,和前两个相比,更灵活,可以自行设定MBR或GPT格式和分区 通过mklabel msdos可以设定为MBR格式,然后可以通过mkpart来划分分区 msdos设定为MBR格式,gpt设定为GPT格式 primary代表主分区,extended代表扩展分区,logical代表逻辑分区。 setnumber flag state用于设置分区的用途,flag:boot、lvm、raid。State:on/off表示开启或关闭。 parted工具分完区后无需保存,输入q退出即可。 划分好分区之后,还需要格式化才能使用。可以通过 mkfs/mkswap来格式化文件系统 #mkfs.xfs /dev/分区设备名或#mkfs -txfs /dev/分区设备名 可以修改fstab实现自动加载 测试是否能自动挂载 通过df -h查看已经挂载了的设备 -T选项可以显示设备的文件系统类 有的挂载点路径比较长,自动分2行显示,可以-P强制一行显示 如同进程有pid,用户有uid,每个文件系统也有自己的id,称为uuid,但是不是每个分区都有;如果某个分区没有文件系统,那么这个分区是没有uuid的。 可以通过 blkid(block id)来查看。注意uuid标记的是文件系统,而不是分区。uuid的好处在于可以通过uuid这个唯一值来挂载系统,这样可以避免因为删除硬盘造成的错位,sda6变成了sda5等等 我们可以通过xfs_admin -U 来手动更改文件系统的uuid 附:在目录里面可以通过 ls -ld查看目录的属性,ls -la查看内容的属性,但是-ld显示的目录大小只有4K,这仅仅是目录本身的大小,要想查看目录和其内容的整个大小,可以通过du来查看,如果只想看最终结果,使用-s(summary)就行了 下面我们来看看swap分区如何手动创建。swap类似windows的虚拟内存/page file,当内存不足的时候,数据保存在swap中。 有两种方式可以使用: 第一种单独用一个分区来作为swap 创建一个分区(如:/dev/sdb3),并更改分区ID为82 执行partx –a /dev/sdb命令,使分区修改生效 在分区上创建swap文件系统 修改fstab实现自动加载 第二种方式是创建一个文件块,这个文件所占有的空间作为swap使用 对于普通的分区,扩展度不高,一旦分区格式化完成,很难灵活的再增加或者减少分区大小。为了解决这个问题,可以使用LVM(逻辑卷)。基本过程是把物理磁盘或者分区初始化称为物理卷(PV),然后把PV加入VG(卷组),最后在VG上划分逻辑的分区(LVM),LVM可以当做普通的分区进行格式化和挂载。 将准备的磁盘或分区创建PV 可以执行pvdisplay查看PV的详细信息,pvremove删除PV 创建完PV,之后,需要创建VG,然后添加PV到VG中 可以通过vgdisplay查看具体的信息,注意PE的Size是4M,这个是增减的最小计算单位 注:创建VG时:使用–s选项的作用是在创建时指定PE块(物理扩展单元)的大小,默认是4M。 如:# vgcreate volGroup03 -s 8M/dev/sdb[12]) 我们可以继续往vg里面添加新的分区 若事先没有把sdb3转化为pv,而是直接添加到vg里面,不过一旦添加了他自动就初始化成pv了。 可以添加当然也可以减少pv。#vgreduce vg00 /dev/sdb3 VG准备就绪,可以创建了LVM了 注意看他的大小其实是112M,因为PE的大小是4M,这个4M是最小单位,不能破开,因此28个PE就是112M 注:大L可以直接指定大小,小l是指定多少个PE的值 也可以设置剩余空间的百分比 删除逻辑卷#lvremove /dev/vg00/lv01 对已经创建的逻辑卷,可以当做普通分区一样格式化和挂载 修改/etc/fstab文件实现开机自动挂载。 扩展一个逻辑卷,增加300M,首先要确保卷组有大于300M的空闲空间。 执行lvextend扩展逻辑卷大小 注意逻辑卷的文件系统仍然是109M没有改变,我们还需要填充文件系统的空白。 RHEL7可以用xfs_growfs来扩大XFS文件系统,也可以直接用resize2fs 来处理设备 注意的是 XFS系统只能增长,不能减少!因此如果需要减少LVM的话,分区只能使用ext4了 执行df查看扩展后的文件系统 逻辑卷快照 LVM提供一个极妙的设备,它是snaphot。允许管理员创建一个新的块装置,在某个时间点提供了一个精确的逻辑卷副本,快照提供原始卷的静态视图LVM 快照通过把文件系统的改变记录到一个快照分区,因此当你创建一个快照分区时,你不需要使用和你正创建快照的分区一样大小的分区,所需的空间大小取决于快照的使用,所以没有可循的方法来设置此大小。如果快照的大小等于原始卷的大小那么快照永远可用。 快照是特殊的逻辑卷,只可以对逻辑卷做快照。逻辑卷快照和需要做快照的逻辑卷必须在同一个卷组里面 现在在我们的系统中有个逻辑卷/dev/vg00/lv00,我们用lvdisplay来查询一下这个逻辑卷 可以看到,这个逻辑卷/dev/vg00/lv00的大小是309M。我们将这个逻辑卷/dev/vg00/lv00挂载到/data下面。复制一些数据到/data里面去。方便等下做试验 现在我们就为逻辑卷/dev/vg00/lv00来做快照 执行lvscan查看创建好的逻辑卷 可以看到/dev/vg00/lv00是原始逻辑卷,而/dev/vg00/lvsp00是快照 执行lvdisplay或lvs命令查看逻辑信息 可以看到逻辑卷快照创建成功了, 注意:这个快照卷建好之后,是不需要格式化也不需要进行挂载的。格式化或挂载都会出现的错误提示的。 模拟将原逻辑卷中的数据删除 如何恢复原逻辑卷的数据?有两方式可以恢复删除的数据 方式一是先将原逻辑卷卸除挂载#umount /dev/vg00/lv00 然后挂载逻辑卷快照即可 #mount /dev/vg00/lvsp00 /data,就可以正常访问数据了 方式二可以通过 lvconvert把快照的内容重新写回原有的lvm 先将原逻辑卷卸除挂载#umount /dev/vg00/lv00 执行lvconvert将快照的数据合并到原逻辑卷 #lvconvert--merge /dev/vg00/lvsp00 最后挂载原逻辑卷,查看数据是否恢复成功 注:当我们把原逻辑卷里面的数据给删除了,逻辑卷快照里面的数据还在,所以可以用快照恢复数据。而当我们在逻辑卷里面添加数据,快照是不会发生改变的,是没有这个文件的。因为快照只会备份当时逻辑卷的一瞬间。 使用ssm(系统存储管理器)进行逻辑管理 逻辑卷管理器(LVM)是一种极其灵活的磁盘管理工具,它让用户可以从多个物理硬驱创建逻辑磁盘卷,并调整大小,根本没有停机时间。最新版本的CentOS/RHEL 7现在随带系统存储管理器(又叫ssm),这是一种统一的命令行界面,由红帽公司开发,用于管理各种各样的存储设备。目前,有三种可供ssm使用的卷管理后端:LVM、Btrfs和Crypt 准备ssm,在CentOS/RHEL7上,你需要首先安装系统存储管理器。可以通过rpm或yum工具安装 首先我们来检查关于可用硬盘和LVM卷的信息。下面这个命令将显示关于现有磁盘存储设备、存储池、LVM卷和存储快照的信息。 #ssm list 在这个例子中,有两个物理设备(“/dev/sda”和“/dev/sdb”)、二个存储池(“rhel和vg00”),以及存储池rhel中创建的两个LVM卷(“dev/rhel/root”和“/dev/rhel/swap”),存储池vg00中创建的一个LVM卷(/dev/vg00/lv00)。 下面来讲解如何通过ssm创建、管理逻辑卷和逻辑卷快照 至少新添加一块磁盘,执行ssm命令显示现有磁盘存储设备、存储池、LVM卷的信息 可以看到有两块空闲磁盘(sdc、sdd) 创建新的LVM池/卷 在这个示例中,不妨看一下如何在物理磁盘驱动器上创建新的存储池和新的LVM卷。如果使用传统的LVM工具,整个过程相当复杂,需要准备分区,需要创建物理卷、卷组、逻辑卷,最后还要建立文件系统。不过,若使用ssm,整个过程一蹴而就! 下面这个命令的作用是,创建一个名为mypool的存储池,创建存储池中名为lv01的500MB大小的LVM卷,使用XFS文件系统格式化卷,并将它挂载到/mnt/test下。 验证ssm创建的结果 或执行ssm list 将物理磁盘(sdd)添加到LVM池 新设备添加到存储池后,存储池会自动扩大,扩大多少取决于设备的大小。检查名为centos的存储池的大小执行ssm list查看 接下来,我们来扩大现有的LVM卷 扩大LVM卷,不妨将/dev/mypool/lv01卷的大小增加300MB。 如果你在存储池中有额外空间,可以扩大存储池中现有的磁盘卷。为此,使用ssm命令的resize选项 执行ssm list查看扩大后逻辑卷 可以看到逻辑卷扩大到800M,即在原来的基础上增加了300M,但文件系统大小(Fs size)还没有改变,仍然是原来的大小。 为了让文件系统识别增加后的卷大小,你需要“扩大”现有的文件系统本身。有不同的工具可用来扩大现有的文件系统,这取决于你使用哪种文件系统。比如说,有面向EXT2/EXT3/EXT4的resize2fs、面向XFS的xfs_growfs以及面向Btrfs的btrfs,不一而足。 在这个例子中,我们使用CentOS 7,XFS文件系统在默认情况下创建。因而,我们使用xfs_growfs来扩大现有的XFS文件系统。 扩大XFS文件系统后,查看结果 或执行#df-hT 可以看到LVM扩展成功 逻辑卷快照 对现有的LVM卷(比如/dev/mypool/lv01)生成快照 一旦快照生成完毕,它将作为一个特殊的快照卷存储起来,存储了原始卷中生成快照时的所有数据 每次原LVM中的数据更改,都可以手动执行ssm snapshot生成快照 当原LVM数据损坏就可以用快照恢复了 方式一是先将原逻辑卷卸除挂载#umount /dev/vg00/lv00 然后挂载逻辑卷快照即可 #mount /dev/vg00/lvsp00 /data,就可以正常访问数据了 方式二可以通过 lvconvert把快照的内容重新写回原有的lvm 先将原逻辑卷卸除挂载#umount /dev/vg00/lv00 执行lvconvert将快照的数据合并到原逻辑卷 #lvconvert--merge /dev/vg00/lvsp00 最后挂载原逻辑卷,查看数据是否恢复成功 有磁ssm的具体用法可以参考ssm的帮助手删页 如:删除LVM卷#ssm remove <volume> 删除存储池#ssm remove<pool-name> 十、ISCSI网络存储服务 iscsi实现网络存储,提供存储端叫 target,使用存储端叫 initiator。target 上可以提供存储空间,initiator负责连接ISCSI设备,在ISCSI设备中创建文件系统,以及存取数据,在 initiator 上看上去是多了一块硬盘。 服务器端配置target,准备做为LUN发布的ISCSI的存储设备(可以是一整块磁盘、一个分区、逻辑卷或RAID阵列)。 本人事先准备好两个逻辑卷作为ISCSI的存储设备。 首先安装target 启动服务 设置防火墙 执行targetcli工具 注:输入help可以查看targetcli的帮助 基本思路: 先把准备共享的块做出来,创建一个target,在target上创建lun,一个lun连接一个块 1、创建块即给要发布的逻辑卷起个名字 注:给/dev/vg00/lv00逻辑卷起个名字叫server0.disk1;给/dev/mypool/lv01逻辑卷起个名字叫server0.disk2 查看块如下图所示: 2、创建 iqn 名字即创建ISCSI对象 查看ISCSI对象如下图所示: 3、设置ACL即将ISCSI对象与客户端IP或主机名绑定 注意:iqn.2015-06.com.benet:client1是 initiator 的名字,需要在客户端中设置的。 4、创建LUN并绑定块 一个ISCSI对象可以创建多个LUN(LUN0、LUN1……)。 执行ls查看 启动监听程序 注:172.24.3.5是ISCSI服务端网卡IP 可以查看/etc/target/saveconfig.json配置文件,该配置文件保存着ISCSI的配置。 在initiator端的配置: 1、安装软件 #yuminstall-yiscsi-initiator-utils 2、给 initiator 起个名字 #vim/etc/iscsi/initiatorname.iscsi 内容如下: 3、启动服务 #systemctlenableiscsi;systemctlstartiscsi 4、发现存储 #iscsiadm-mdiscovery-tst-p172.24.3.5 5、登录存储 #iscsiadm-mnode-Tiqn.2015-06.com.benet:disk1-p172.24.3.5-l 注:-l表示连接ISCSI目标;-u表示断开和ISCSI目标的连接 验证客户端ISCSI连接 剩下来的操作就和管理本地磁盘一样了。

优秀的个人博客,低调大师

CentOS7下利用cobbler部署CentOS

1)安装epel源和cobbler [root@cobbler~]#yum-yinstallhttp://mirrors.163.com/centos/7/extras/x86_64/Packages/epel-release-7-9.noarch.rpm [root@cobbler~]#yuminstallcobblercobbler-webdhcptftp-serverpykickstarthttpdxinetd-y [root@cobbler~]#systemctlstartxinetd.service [root@cobbler~]#systemctlenablexinetd.service [root@cobbler~]#systemctlstarthttpd [root@cobbler~]#systemctlenablehttpd Createdsymlinkfrom/etc/systemd/system/multi-user.target.wants/httpd.serviceto/usr/lib/systemd/system/httpd.service. [root@cobbler~]#systemctlstartcobblerd.service [root@cobbler~]#systemctlenablecobblerd.service Createdsymlinkfrom/etc/systemd/system/multi-user.target.wants/cobblerd.serviceto/usr/lib/systemd/system/cobblerd.service. 2)配置cobbler 检查cobbler: [root@cobbler~]#cobblercheck Thefollowingarepotentialconfigurationitemsthatyoumaywanttofix: 1:The'server'fieldin/etc/cobbler/settingsmustbesettosomethingotherthanlocalhost,orkickstartingfeatureswillnotwork.ThisshouldbearesolvablehostnameorIPforthebootserverasreachablebyallmachinesthatwilluseit. 2:ForPXEtobefunctional,the'next_server'fieldin/etc/cobbler/settingsmustbesettosomethingotherthan127.0.0.1,andshouldmatchtheIPofthebootserveronthePXEnetwork. 3:change'disable'to'no'in/etc/xinetd.d/tftp 4:somenetworkboot-loadersaremissingfrom/var/lib/cobbler/loaders,youmayrun'cobblerget-loaders'todownloadthem,or,ifyouonlywanttohandlex86/x86_64netbooting,youmayensurethatyouhaveinstalleda*recent*versionofthesyslinuxpackageinstalledandcanignorethismessageentirely.Filesinthisdirectory,shouldyouwanttosupportallarchitectures,shouldincludepxelinux.0,menu.c32,elilo.efi,andyaboot.The'cobblerget-loaders'commandistheeasiestwaytoresolvetheserequirements. 5:enableandstartrsyncd.servicewithsystemctl 6:debmirrorpackageisnotinstalled,itwillberequiredtomanagedebiandeploymentsandrepositories 7:Thedefaultpasswordusedbythesampletemplatesfornewlyinstalledmachines(default_password_cryptedin/etc/cobbler/settings)isstillsetto'cobbler'andshouldbechanged,try:"opensslpasswd-1-salt'random-phrase-here''your-password-here'"togeneratenewone 8:fencingtoolswerenotfound,andarerequiredtousethe(optional)powermanagementfeatures.installcmanorfence-agentstousethem Restartcobblerdandthenrun'cobblersync'toapplychanges. 修改cobbler的配置文件: [root@cobbler~]#vim/etc/cobbler/settings #ifyoudonotsetthiscorrectly,thiswillbemanifestedinTFTPopentimeouts. 将“next_server:127.0.0.1”修改为“next_server:10.10.10.222” 将“server:127.0.0.1”修改为“server:10.10.10.222” #setto1toenableCobbler'sDHCPmanagementfeatures. #thechoiceofDHCPmanagementengineisin/etc/cobbler/modules.conf 将“manage_dhcp:0”修改为“manage_dhcp:1” 修改cobbler默认的密码: 将“default_password_crypted:"$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."”修改为“default_password_crypted:"$1$wanwan$K9lP0CajD0pbFaxI0if84/"” 随机生成一个密码: [root@cobbler~]#opensslpasswd-1-salt'wanwan''redhat12345' $1$wanwan$K9lP0CajD0pbFaxI0if84/ [root@cobbler~]#vim/etc/xinetd.d/tftp 将“disable=yes”修改为“disable=no” 重启rsync服务: [root@cobbler~]#systemctlstartrsyncd.service [root@cobbler~]#systemctlenablersyncd.service Createdsymlinkfrom/etc/systemd/system/multi-user.target.wants/rsyncd.serviceto/usr/lib/systemd/system/rsyncd.service. 下载cobbler相关的包: [root@cobbler~]#cobblerget-loaders taskstarted:2017-03-20_110931_get_loaders taskstarted(id=DownloadBootloaderContent,time=MonMar2011:09:312017) downloadinghttps://cobbler.github.io/loaders/READMEto/var/lib/cobbler/loaders/README downloadinghttps://cobbler.github.io/loaders/COPYING.eliloto/var/lib/cobbler/loaders/COPYING.elilo downloadinghttps://cobbler.github.io/loaders/COPYING.yabootto/var/lib/cobbler/loaders/COPYING.yaboot downloadinghttps://cobbler.github.io/loaders/COPYING.syslinuxto/var/lib/cobbler/loaders/COPYING.syslinux downloadinghttps://cobbler.github.io/loaders/elilo-3.8-ia64.efito/var/lib/cobbler/loaders/elilo-ia64.efi downloadinghttps://cobbler.github.io/loaders/yaboot-1.3.17to/var/lib/cobbler/loaders/yaboot downloadinghttps://cobbler.github.io/loaders/pxelinux.0-3.86to/var/lib/cobbler/loaders/pxelinux.0 downloadinghttps://cobbler.github.io/loaders/menu.c32-3.86to/var/lib/cobbler/loaders/menu.c32 downloadinghttps://cobbler.github.io/loaders/grub-0.97-x86.efito/var/lib/cobbler/loaders/grub-x86.efi downloadinghttps://cobbler.github.io/loaders/grub-0.97-x86_64.efito/var/lib/cobbler/loaders/grub-x86_64.efi ***TASKCOMPLETE*** [root@cobbler~]#systemctlrestartcobblerd.service [root@cobbler~]#cobblercheck Thefollowingarepotentialconfigurationitemsthatyoumaywanttofix: 1:debmirrorpackageisnotinstalled,itwillberequiredtomanagedebiandeploymentsandrepositories 2:fencingtoolswerenotfound,andarerequiredtousethe(optional)powermanagementfeatures.installcmanorfence-agentstousethem [root@cobbler~]#cd/etc/cobbler/ [root@cobblercobbler]#ls auth.confdhcp.templateldappowerrsync.templateusers.confzone_templates cheetah_macrosdnsmasq.templatemodules.confpxesecondary.templateusers.digest cobbler_bashimport_rsync_whitelistmongodb.confreportingsettingsversion completionsisonamed.templatersync.excludetftpd.templatezone.template 3)配置服务 [root@cobblercobbler]#vimdhcp.template subnet10.10.10.0netmask255.255.255.0{ optionrouters10.10.10.2; optiondomain-name-servers10.10.10.2; optionsubnet-mask255.255.255.0; rangedynamic-bootp10.10.10.10010.10.10.200; default-lease-time21600; max-lease-time43200; next-server$next_server; class"pxeclients"{ matchifsubstring(optionvendor-class-identifier,0,9)="PXEClient"; ifoptionpxe-system-type=00:02{ filename"ia64/elilo.efi"; }elseifoptionpxe-system-type=00:06{ filename"grub/grub-x86.efi"; }elseifoptionpxe-system-type=00:07{ filename"grub/grub-x86_64.efi"; }else{ filename"pxelinux.0"; } } } 备注:主要修改网段、DNS、网关等信息 [root@cobblercobbler]#cobblersync 通过cobbler管理的dhcp的配置文件 [root@cobblercobbler]#egrep-v'^#|^$'/etc/dhcp/dhcpd.conf ddns-update-styleinterim; allowbooting; allowbootp; ignoreclient-updates; setvendorclass=optionvendor-class-identifier; optionpxe-system-typecode93=unsignedinteger16; subnet10.10.10.0netmask255.255.255.0{ optionrouters10.10.10.2; optiondomain-name-servers10.10.10.2; optionsubnet-mask255.255.255.0; rangedynamic-bootp10.10.10.10010.10.10.200; default-lease-time21600; max-lease-time43200; next-server10.10.10.222; class"pxeclients"{ matchifsubstring(optionvendor-class-identifier,0,9)="PXEClient"; ifoptionpxe-system-type=00:02{ filename"ia64/elilo.efi"; }elseifoptionpxe-system-type=00:06{ filename"grub/grub-x86.efi"; }elseifoptionpxe-system-type=00:07{ filename"grub/grub-x86_64.efi"; }else{ filename"pxelinux.0"; } } } group{ } 挂载并导入数据: [root@cobbler~]#mount/dev/cdrom/mnt mount:/dev/sr0iswrite-protected,mountingread-only [root@cobbler~]#df-h FilesystemSizeUsedAvailUse%Mountedon /dev/mapper/cl-root50G9.8G41G20%/ devtmpfs1.9G01.9G0%/dev tmpfs1.9G144K1.9G1%/dev/shm tmpfs1.9G9.0M1.9G1%/run tmpfs1.9G01.9G0%/sys/fs/cgroup /dev/mapper/cl-home46G36M46G1%/home /dev/sda11014M175M840M18%/boot tmpfs378M12K378M1%/run/user/0 /dev/sr04.1G4.1G0100%/mnt [root@cobbler~]#cobblerimport--path=/mnt--name=CentOS-7.3--arch=x86_64 taskstarted:2017-03-20_113200_import taskstarted(id=Mediaimport,time=MonMar2011:32:002017) Foundacandidatesignature:breed=redhat,version=rhel6 Foundacandidatesignature:breed=redhat,version=rhel7 Foundamatchingsignature:breed=redhat,version=rhel7 Addingdistrosfrompath/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64: creatingnewdistro:CentOS-7.3-x86_64 tryingsymlink:/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64->/var/www/cobbler/links/CentOS-7.3-x86_64 creatingnewprofile:CentOS-7.3-x86_64 associatingrepos checkingforrsyncrepo(s) checkingforrhnrepo(s) checkingforyumrepo(s) startingdescentinto/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64forCentOS-7.3-x86_64 processingrepoat:/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64 needtoprocessrepo/comps:/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64 lookingfor/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/repodata/*comps*.xml Keepingrepodataas-is:/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/repodata ***TASKCOMPLETE*** 说明:cobbler导入的镜像放在:/var/www/cobbler/ks_mirror [root@cobblerks_mirror]#pwd /var/www/cobbler/ks_mirror [root@cobblerks_mirror]#ls CentOS-7.3-x86_64config 默认kickstart文件存放位置:/var/lib/cobbler/kickstarts/ [root@cobbler~]#cd/var/lib/cobbler/kickstarts/ [root@cobblerkickstarts]#ll total52 -rw-r--r--1rootroot115Nov1703:09default.ks -rw-r--r--1rootroot22Nov1703:09esxi4-ks.cfg -rw-r--r--1rootroot22Nov1703:09esxi5-ks.cfg drwxr-xr-x2rootroot56Mar2010:39install_profiles -rw-r--r--1rootroot1424Nov1703:09legacy.ks -rw-r--r--1rootroot292Nov1703:09pxerescue.ks -rw-r--r--1rootroot2916Nov1703:09sample_autoyast.xml -rw-r--r--1rootroot1825Nov1703:09sample_end.ks -rw-r--r--1rootroot0Nov1703:09sample_esx4.ks -rw-r--r--1rootroot324Nov1703:09sample_esxi4.ks -rw-r--r--1rootroot386Nov1703:09sample_esxi5.ks -rw-r--r--1rootroot1784Nov1703:09sample.ks -rw-r--r--1rootroot3419Nov1703:09sample_old.seed -rw-r--r--1rootroot5879Nov1703:09sample.seed [root@cobbler~]#cobblerlist distros: CentOS-7.3-x86_64 profiles: CentOS-7.3-x86_64 systems: repos: p_w_picpaths: mgmtclasses: packages: files: [root@cobbler~]#cobblerprofilereport Name:CentOS-7.3-x86_64 TFTPBootFiles:{} Comment: DHCPTag:default Distribution:CentOS-7.3-x86_64 EnablegPXE?:0 EnablePXEMenu?:1 FetchableFiles:{} KernelOptions:{} KernelOptions(PostInstall):{} Kickstart:/var/lib/cobbler/kickstarts/sample_end.ks KickstartMetadata:{} ManagementClasses:[] ManagementParameters:<<inherit>> NameServers:[] NameServersSearchPath:[] Owners:['admin'] ParentProfile: Internalproxy: RedHatManagementKey:<<inherit>> RedHatManagementServer:<<inherit>> Repos:[] ServerOverride:<<inherit>> TemplateFiles:{} VirtAutoBoot:1 VirtBridge:xenbr0 VirtCPUs:1 VirtDiskDriverType:raw VirtFileSize(GB):5 VirtPath: VirtRAM(MB):512 VirtType:kvm 查看cobbler profile的帮助: [root@cobbler~]#cobblerprofileedit--help Usage:cobbler[options] Options: -h,--helpshowthishelpmessageandexit --name=NAMEName(Ex:F10-i386-webserver) --uid=UID --owners=OWNERSOwners(Ownerslistforauthz_ownership(space delimited)) --distro=DISTRODistribution(Parentdistribution) --parent=PARENTParentProfile --enable-gpxe=ENABLE_GPXE EnablegPXE?(UsegPXEinsteadofPXELINUXfor advancedbootingoptions) --enable-menu=ENABLE_MENU EnablePXEMenu?(ShowthisprofileinthePXEmenu?) --kickstart=KICKSTART Kickstart(Pathtokickstarttemplate) --kopts=KERNEL_OPTIONS KernelOptions(Ex:selinux=permissive) --kopts-post=KERNEL_OPTIONS_POST KernelOptions(PostInstall)(Ex:clocksource=pit noapic) --ksmeta=KS_METAKickstartMetadata(Ex:dog=fangagent=86) --proxy=PROXYInternalproxy(InternalproxyURL) --repos=REPOSRepos(Repostoauto-assigntothisprofile) --comment=COMMENTComment(Freeformtextdescription) --virt-auto-boot=VIRT_AUTO_BOOT VirtAutoBoot(AutobootthisVM?) --virt-cpus=VIRT_CPUS VirtCPUs(integer) --virt-file-size=VIRT_FILE_SIZE VirtFileSize(GB) --virt-disk-driver=VIRT_DISK_DRIVER VirtDiskDriverType(Theon-diskformatforthe virtualizationdisk) --virt-ram=VIRT_RAMVirtRAM(MB) --depth=DEPTH --virt-type=VIRT_TYPE VirtType(Virtualizationtechnologytouse)(valid options:xenpv,xenfv,qemu,kvm,vmware,openvz,SETTINGS:d efault_virt_type) --virt-path=VIRT_PATH VirtPath(Ex:/directoryORVolGroup00) --virt-bridge=VIRT_BRIDGE VirtBridge --dhcp-tag=DHCP_TAGDHCPTag(Seemanpageorleaveblank) --server=SERVERServerOverride(Seemanpageorleaveblank) --ctime=CTIME --mtime=MTIME --name-servers=NAME_SERVERS NameServers(spacedelimited) --name-servers-search=NAME_SERVERS_SEARCH NameServersSearchPath(spacedelimited) --mgmt-classes=MGMT_CLASSES ManagementClasses(Forexternalconfiguration management) --mgmt-parameters=MGMT_PARAMETERS ManagementParameters(Parameterswhichwillbehanded toyourmanagementapplication(MustbevalidYAML dictionary)) --boot-files=BOOT_FILES TFTPBootFiles(Filescopiedintotftpbootbeyondthe kernel/initrd) --fetchable-files=FETCHABLE_FILES FetchableFiles(Templatesfortftporwget/curl) --template-files=TEMPLATE_FILES TemplateFiles(Filemappingsforbuilt-inconfig management) --redhat-management-key=REDHAT_MANAGEMENT_KEY RedHatManagementKey(RegistrationkeyforRHN, Spacewalk,orSatellite) --redhat-management-server=REDHAT_MANAGEMENT_SERVER RedHatManagementServer(AddressofSpacewalkor SatelliteServer) --template-remote-kickstarts=TEMPLATE_REMOTE_KICKSTARTS --clobberallowaddtooverwriteexistingobjects --in-placeedititemsinkoptsorksmetawithoutclearingthe otheritems 修改kickstart文件: [root@cobbler~]#cobblerprofileedit--name=CentOS-7.3-x86_64--kickstart=/var/lib/cobbler/kickstarts/CentOS-7.3-x86_64.cfg 修改内核参数: [root@cobbler~]#cobblerprofileedit--name=CentOS-7.3-x86_64--kopts='net.ifnames=0biosdevname=0' [root@cobbler~]#cobblerprofilereport Name:CentOS-7.3-x86_64 TFTPBootFiles:{} Comment: DHCPTag:default Distribution:CentOS-7.3-x86_64 EnablegPXE?:0 EnablePXEMenu?:1 FetchableFiles:{} KernelOptions:{'biosdevname':'0','net.ifnames':'0'} KernelOptions(PostInstall):{} Kickstart:/var/lib/cobbler/kickstarts/CentOS-7.3-x86_64.cfg KickstartMetadata:{} ManagementClasses:[] ManagementParameters:<<inherit>> NameServers:[] NameServersSearchPath:[] Owners:['admin'] ParentProfile: Internalproxy: RedHatManagementKey:<<inherit>> RedHatManagementServer:<<inherit>> Repos:[] ServerOverride:<<inherit>> TemplateFiles:{} VirtAutoBoot:1 VirtBridge:xenbr0 VirtCPUs:1 VirtDiskDriverType:raw VirtFileSize(GB):5 VirtPath: VirtRAM(MB):512 VirtType:kvm [root@cobbler~]#cobblersync taskstarted:2017-03-20_135014_sync taskstarted(id=Sync,time=MonMar2013:50:142017) runningpre-synctriggers cleaningtrees removing:/var/www/cobbler/p_w_picpaths/CentOS-7.3-x86_64 removing:/var/lib/tftpboot/pxelinux.cfg/default removing:/var/lib/tftpboot/grub/p_w_picpaths removing:/var/lib/tftpboot/grub/grub-x86.efi removing:/var/lib/tftpboot/grub/grub-x86_64.efi removing:/var/lib/tftpboot/grub/efidefault removing:/var/lib/tftpboot/p_w_picpaths/CentOS-7.3-x86_64 removing:/var/lib/tftpboot/s390x/profile_list copyingbootloaders tryinghardlink/var/lib/cobbler/loaders/pxelinux.0->/var/lib/tftpboot/pxelinux.0 copying:/var/lib/cobbler/loaders/pxelinux.0->/var/lib/tftpboot/pxelinux.0 tryinghardlink/var/lib/cobbler/loaders/menu.c32->/var/lib/tftpboot/menu.c32 copying:/var/lib/cobbler/loaders/menu.c32->/var/lib/tftpboot/menu.c32 tryinghardlink/var/lib/cobbler/loaders/grub-x86.efi->/var/lib/tftpboot/grub/grub-x86.efi tryinghardlink/var/lib/cobbler/loaders/grub-x86_64.efi->/var/lib/tftpboot/grub/grub-x86_64.efi copyingdistrostotftpboot copyingfilesfordistro:CentOS-7.3-x86_64 tryinghardlink/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/p_w_picpaths/pxeboot/vmlinuz->/var/lib/tftpboot/p_w_picpaths/CentOS-7.3-x86_64/vmlinuz tryinghardlink/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/p_w_picpaths/pxeboot/initrd.img->/var/lib/tftpboot/p_w_picpaths/CentOS-7.3-x86_64/initrd.img copyingp_w_picpaths generatingPXEconfigurationfiles generatingPXEmenustructure copyingfilesfordistro:CentOS-7.3-x86_64 tryinghardlink/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/p_w_picpaths/pxeboot/vmlinuz->/var/www/cobbler/p_w_picpaths/CentOS-7.3-x86_64/vmlinuz tryinghardlink/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/p_w_picpaths/pxeboot/initrd.img->/var/www/cobbler/p_w_picpaths/CentOS-7.3-x86_64/initrd.img WritingtemplatefilesforCentOS-7.3-x86_64 renderingDHCPfiles generating/etc/dhcp/dhcpd.conf renderingTFTPDfiles generating/etc/xinetd.d/tftp processingboot_filesfordistro:CentOS-7.3-x86_64 cleaninglinkcaches runningpost-synctriggers runningpythontriggersfrom/var/lib/cobbler/triggers/sync/post/* runningpythontriggercobbler.modules.sync_post_restart_services running:dhcpd-t-q receivedonstdout: receivedonstderr: running:servicedhcpdrestart receivedonstdout: receivedonstderr:Redirectingto/bin/systemctlrestartdhcpd.service runningshelltriggersfrom/var/lib/cobbler/triggers/sync/post/* runningpythontriggersfrom/var/lib/cobbler/triggers/change/* runningpythontriggercobbler.modules.scm_track runningshelltriggersfrom/var/lib/cobbler/triggers/change/* ***TASKCOMPLETE*** 客户端设置从网卡启动: 安装完的CentOS6: cobbler的图形化管理界面(默认用户名cobbler,默认密码cobbler): 补充下,如果重启cobbler后发现dhcpd服务不能正常使用,很有可能是因为没设置自动启动 [root@cobbler~]#systemctlstartdhcpd.service [root@cobbler~]#systemctlenabledhcpd.serviceCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/dhcpd.serviceto/usr/lib/systemd/system/dhcpd.service.

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。