分类 云存储 下的文章 - 一个CTFer的小窝
首页
状态
友链
留言
追番
更多
视频
搜 索
1
Docker常用命令
67 阅读
2
ctfshow之sqli-labs
66 阅读
3
CTF show web入门之文件上传
57 阅读
4
Jet全家桶和Navicat激活(仅可用于学生学习使用)
47 阅读
5
华为交换机&路由器命令
41 阅读
CTF
SQL注入
文件漏洞
PHP特性
命令执行
云存储
云网络
Linux
kali
OpenWrt
登录
搜 索
标签搜索
MySQL
数据库
DNS
根服务器
根节点
软件
激活
HVV
云安全
网络安全
W1lsp0
累计撰写
24
篇文章
累计收到
2
条评论
首页
栏目
CTF
SQL注入
文件漏洞
PHP特性
命令执行
云存储
云网络
Linux
kali
OpenWrt
页面
状态
友链
留言
追番
视频
用户登录
登录
找到
1
篇与
云存储
相关的结果
2021-11-12
云存储运维
构建内置存储系统磁盘基本操作命令fdiskfdisk 设备 # 须是设备号,不是分区 fdisk /dev/sda Command (m for help): 在这里按 m ,就会输出帮助; Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition 注:这是删除一个分区的动作; l list known partition types 注:l 是列出分区类型,以供我们设置相应分区的类型; m print this menu 注:m 是列出帮助信息; n add a new partition 注:添加一个分区; o create a new empty DOS partition table p print the partition table 注:p 列出分区表; q quit without saving changes 注:不保存退出; s create a new empty Sun disklabel t change a partition's system id # 注:t 改变分区类型; u change display/entry units v verify the partition table w write table to disk and exit 注:把分区表写入硬盘并退出; x extra functionality (experts only) 注:扩展应用,专家功能;添加一个5G硬盘,并查看分区情况mkfs-h查看帮助信息-t <文件系统类型>指定要创建的文件系统类型-v (小写)查看使用方法信息-V (大写)查看版本信息-f强制格式化,类似于rm -f-b size=1024指定block大小(1k、2k、4k),默认block大小为4k实例,格式化/dev/sdb硬盘,再次查看分区情况,刚刚分的区已经没了磁盘组建RAIDRAID-0: 读、写性能提升; 可用空间:N*min(S1,S2,...) 无容错能力 最少磁盘数:2, 2+ RAID-1: 读性能提升、写性能略有下降; 可用空间:1*min(S1,S2,...) 有冗余能力 最少磁盘数:2, 2+ RAID-5: 读、写性能提升 可用空间:(N-1)*min(S1,S2,...) 有容错能力:1块磁盘 最少磁盘数:3, 3+ RAID-10: 读、写性能提升 可用空间:N*min(S1,S2,...)/2 有容错能力:每组镜像最多只能坏一块; 最少磁盘数:4, 4+ 组建RAID0提示:R0一时爽,数据火葬场。最好是使用不同硬盘,因为使用相同硬盘不同分区组建R0最后是使用的同一个硬盘的IO,速度并没有本质上的提升。 RAID0 是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略。 RAID0 将所在磁盘条带化后组成大容量的存储空间(如图 2 所示),将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。由于可以并发执行 I/O 操作,总线带宽得到充分利用。再加上不需要进行数据校验,RAID0 的性能在所有 RAID 等级中是最高的。理论上讲,一个由 n 块磁盘组成的 RAID0 ,它的读写性能是单个磁盘性能的 n 倍,但由于总线带宽等多种因素的限制,实际的性能提升低于理论值。默认没有安装mdadmRAID管理工具,使用yum install mdadm安装即可-C: 创建模式 -n: 使用#个块设备来创建此RAID -l:指明要创建的RAID的级别 -a :自动创建目标RAID设备的设备文件 -c CHUNK_SIZE: 指明块大小,单位k -x : 指明空闲盘的个数 -D:显示raid的详细信息 mdadm -D /dev/md0 管理模式: -f: 标记指定磁盘为损坏 -a: 添加磁盘 -r: 移除磁盘 -f: 显示过程 观察md的状态:cat /proc/mdstat 增加新的成员 mdadm –G /dev/md0 –n4 -a /dev/sdf1 生成配置文件:mdadm –D –s >> /etc/mdadm.conf 停止设备:mdadm –S /dev/md0 激活设备:mdadm –A –s /dev/md0 激活 强制启动:mdadm –R /dev/md0 删除raid信息:mdadm --zero-superblock /dev/sdb1先将磁盘分为了五个大小相同的区使用/dev/sdb[1-2],这两个区作为实验安装。查看RAID情况mdadm -Cv /dev/md0 -l0 -n2 /dev/sdb[1-2] #-Cv:创建并显示过程,-l0:级别为RAID0,-n2:使用两块盘区查看系统中存在的RAID停止并删除RAID,查看系统中的RAID情况mdadm --stop /dev/md0 mdadm --misc --zero-superblock /dev/sdb1 mdadm --misc --zero-superblock /dev/sdb2 cat /proc/mdstat组建RAID1如果有两块1T的硬盘,那么只能使用1T,因为有一块做备用盘。RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像 磁盘,它的磁盘空间利用率为 50% 。 RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。 RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。工作原理如图 3 所示。创建RAID1,并查看信息mdadm -Cv /dev/md0 -l1 -n2 /dev/sdb[1-2] cat /proc/mdstat查看硬盘信息fdisk -l停止RAID1阵列,移除两个硬盘mdadm --stop /dev/md0 mdadm --misc --zero-superblock /dev/sdb1 mdadm --misc --zero-superblock /dev/sdb2 cat /proc/mdstat组建RAID5 RAID5 应该是目前最常见的 RAID 等级,它的原理与 RAID4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此, RAID5 不存在 RAID4 中的并发写操作时的校验盘性能瓶颈问题。另外, RAID5 还具备很好的扩展性。当阵列磁盘 数量增加时,并行操作量的能力也随之增长,可比 RAID4 支持更多的磁盘,从而拥有更高的容量以及更高的性能。创建RAID5,并查看信息mdadm -Cv /dev/md0 -l5 -n3 /dev/sdb[1-3] cat /proc/mdstat查看阵列信息 mdadm -D /dev/md0格式化硬盘分区为ext4格式mkfs.ext4 /dev/md0挂载并验证 mount /dev/md0 /mnt/ df -h解挂载并删除设备umount /mnt/ mdadm --stop /dev/md0 mdadm --misc --zero-superblock /dev/sdb1 mdadm --misc --zero-superblock /dev/sdb2 mdadm --misc --zero-superblock /dev/sdb3RAID5运维操作mdadm -Cv /dev/md0 -l5 -n3 /dev/sdb[1-3] cat /proc/mdstat模拟硬盘故障mdadm -f /dev/md0 /dev/sdb1热移除故障盘 mdadm -r /dev/md0 /dev/sdb1组建RAID10RAID01 兼备了 RAID0 和 RAID1 的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。 RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。 RAID01 和 RAID10 内部都含有 RAID1 模式,因此整体磁盘利用率均仅为 50% 。典型的 RAID01 (上)和 RAID10 (下)模型构建RAID10并查看信息mdadm -Cv /dev/md0 -l10 -n4 /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb5删除RAID10mdadm --stop /dev/md0 mdadm --misc --zero-superblock /dev/sdb1 mdadm --misc --zero-superblock /dev/sdb2 mdadm --misc --zero-superblock /dev/sdb3 mdadm --misc --zero-superblock /dev/sdb5管理逻辑卷删除所有分区并格式化,内核重新读取分区并查看。fdisk /dev/sdb partx /dev/sdb创建物理卷组创建物理卷pvcreate /dev/sdb1 /dev/sdb2查看创建的物理卷,和查看物理卷的详细信息pvs pvdisplay扫描物理卷,创建物理卷组pvscan vgcreate myvg /dev/sdb[1-2] vgdisplay # 查看物理卷组的详细信息卷组删除删除myvg,重新创建并指定PE大小为16mvgremove myvg vgcreate -s 16m myvg /dev/sdb[1-2]删除PV并转移数据pvmove /dev/sdb1 vgreduce myvg /dev/sdb1 pvs添加物理卷向myvg添加一个物理卷/dev/sdb3,但是这个分区须提前分vgextend myvg /dev/sdb3创建逻辑卷名为mylv,大小5GBvcreate -L+5G -n mylv myvg lvs # 查看逻辑卷 lvscan # 扫描逻辑卷操作逻辑卷格式化并挂载mkfs.ext4 /dev/mapper/myvg-mylv mount /dev/mapper/myvg-mylv /mnt/ df -h卷组扩容lvextend -L+1G /dev/mapper/myvg-mylv # 对创建的LVM卷扩容 resize2fs /dev/mapper/myvg-mylv # 对文件系统进行扩容物理卷扩容,并再对逻辑卷扩容vgextend myvg /dev/sdb1 vgs lvextend -L+1G /dev/mapper/myvg-mylv resize2fs /dev/mapper/myvg-mylv df -h缩小卷组umount /mnt/ df -h lvreduce -L -3G /dev/mapper/myvg-mylv lvs此时需要重新格式化并挂载才能重新使用构建OpenStack云存储系统构建OpenStack私有云配置安装环境hostname controller # 临时修改主机名, vi /etc/sysconfig/network # 永久修改主机名,修改hostname为controller mount -o loop CentOS-6.5-x86_64-bin_DVD.iso /mnt/ mkdir /opt/centos cp -rfv /mnt/* /opt/centos/ umount /mnt/ # 卸载 mount -o loop XianDian-IaaS-v1.4.iso /mnt/ cp -rfv /mnt/ /opt/配置yum软件源vi /etc/yum.repos.d/local.repo # 写入以下 ---------------------------------------- [centos] name=centos baseurl=file:///opt/centos gpgcheck=0 enabled=1 [iaas] name=iaas baseurl=file///opt/iaas-repo gpgcheck=0 enabled=1 ----------------------------------------- yum clean all # 清除软件源 yum list # 查看软件包关闭防火墙 service iptables stop # 关闭返回去 chkconfig iptables off # 设置防火墙开机不启动关闭selinuxsetenforce 0 # 临时关闭 vi /etc/selinux/config # 永久关闭 # 设置SELINUX=permissive 安装iaas-xiandianyum install iaas-xiandian -y修改全局配置文件openrc.shvi /etc/xiandian/openrc.sh -----------------------------------------------------------------------------------------# #--------------------system config--------------------# #Controller Server Manager IP. example:x.x.x.x HOST_IP=192.168.100.10 #Controller Server hostname. example:controller HOST_NAME=controller #Compute Node Manager IP. example:x.x.x.x HOST_IP_NODE=192.168.100.10 #Compute Node hostname. example:compute HOST_NAME_NODE=controller #--------------------MySQL config---------------------## #Password for MySQL root user . exmaple:000000 DB_PASS=000000 #--------------------Keystone config------------------## #Password for Keystore admin user. exmaple:000000 ADMIN_PASS=000000 #Password for Mysql keystore user. exmaple:000000 KEYSTONE_DBPASS=000000 #--------------------Glance config--------------------## #Password for Mysql glance user. exmaple:000000 GLANCE_DBPASS=000000 #Password for Keystore glance user. exmaple:000000 GLANCE_PASS=000000 #--------------------Nova config----------------------## #Password for Mysql nova user. exmaple:000000 NOVA_DBPASS=000000 #Password for Keystore nova user. exmaple:000000 NOVA_PASS=000000 #--------------------Neturon config-------------------## #Password for Mysql neutron user. exmaple:000000 NEUTRON_DBPASS=000000 #Password for Keystore neutron user. exmaple:000000 NEUTRON_PASS=000000 #metadata secret for neutron. exmaple:000000 METADATA_SECRET=000000 #External Network Interface. example:eth1 INTERFACE_NAME=eth1 #First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101 minvlan= #Last Vlan ID in VLAN RANGE for VLAN Network. example:200 maxvlan= #--------------------Cinder config--------------------## #Password for Mysql cinder user. exmaple:000000 CINDER_DBPASS=000000 #Password for Keystore cinder user. exmaple:000000 CINDER_PASS=000000 #Cinder Block Disk. example:md126p3 BLOCK_DISK=sdb1 #--------------------Swift config---------------------## #Password for Keystore swift user. exmaple:000000 SWIFT_PASS=000000 #The NO1. NODE Object Disk for Swift. example:md126p4. The 2nd will be OBJECT_DISK_2 OBJECT_DISK_1=sdc1 #The NO1. NODE IP for Swift Storage Network. example:x.x.x.x. The 2nd will be STORAGE_LOCAL_NET_IP_2 STORAGE_LOCAL_NET_IP_1=192.168.100.10 #The numbers of all the Swift Nodes. example:3 SWIFT_ZONE=1 #The number of this Swift Node. exmaple:1 SWIFT_NODE=1 #--------------------Heat config----------------------## #Password for Mysql heat user. exmaple:000000 HEAT_DBPASS=000000 #Password for Keystore heat user. exmaple:000000 HEAT_PASS=000000 #--------------------Ceilometer config----------------## #Password for Mysql ceilometer user. exmaple:000000 CEILOMETER_DBPASS=000000 #Password for Keystore ceilometer user. exmaple:000000 CEILOMETER_PASS=000000 #token for ceilometer. exmaple:000000 CEILOMETER_TOKEN=000000 #--------------------Sahara config--------------------## #Password for Mysql sahara user. exmaple:000000 SAHARA_DBPASS=000000 #Password for Keystore sahara user. exmaple:000000 SAHARA_PASS=000000 -----------------------------------------------------------------------------------------------安装Qpid服务yum install -y qpid-cpp-server vi /etc/qpidd.conf # 修改最后一行代码 # auth=no service qpidd start # 启动服务 chkconfig qpidd on # 开机自启安装基本服务# 安装mysql iaas-install-mysql.sh # 安装Glance服务 iaas-install-keystone.sh # 安装Nova计算服务 iaas-install-nova-controller.sh iaas-install-nova-compute.sh # 安装Neutron网络服务 iaas-install-neutron-controller.sh iaas-install-neutron-compute.sh # 网络可以选择gre模式 iaas-install-neutron-controller-gre.sh iaas-install-neutron-compute-gre.sh # 安装Dashboard服务 iaas-install-dashboard.sh验证安装在浏览器输入10.10.1.10/dashboard进入即可配置OpenStack对象存储安装Swift服务iaas-install-swift-controller.sh iaas-install-swift-compute.sh查看Swift状态swift stat查看容器swift list 创建容器swift post C1容器操作# 上传文件 swift upload C1 /etc/hosts # 删除文件 swift delete C1 /etc/hosts删除容器swift delete C1构建GlusterFS的分布式文件系统将glusterfs文件夹通过winscp上传到/opt目录下yum install -y createrepo # 在线安装索引生成工具 createrepo /opt/glusterfs # 将指定目录生成安装软件包索引配置YUM 源,在/etc/yum.repos.d 目录下,新建一个local.repo 文件,内容如下:[glusterfs] name=glusterfs baseurl=file///opt/glusterfs gpgcheck=0 enabled=1执行yum clean all,刷新软件包库安装glusterfs服务端和客户端yum install -y glusterfs-server xfsprogs service glusterfs start # 启动服务 chkconfig glusterfs on # 设置开机自启设置防火墙关闭,开机不自启service firewalld stop chkconfig firewalld off添加节点到GlusterFS服务器集群,并查看集群状态gluster peer probe 10.10.1.10 gluster peer probe 10.10.1.11 gluster peer status格式化磁盘并挂载目录fdisk /dev/sdb # 分一个区即可 mkdir /export/brick1/1在主节点创建共享副本卷创建共享副本卷,gv0为卷名称,可以自定义gluster volume create gv0 replica 2 10.10.1.10:/export/brick1/1 10.10.1.11:/export/brick1/1 gluster volume start gv0 # 启动卷 gluster volume info # 查看卷gv0的状态挂载副本卷mount -t glusterfs 172.168.1.105:/gv0 /mnt在主节点创建分布卷gluster volume create gv1 10.10.1.10:/export/brick1/2 10.10.1.11:/export/brick1/2 gluster volume start gv1挂载分布卷umount /mnt # 解挂载 mount -t glusterfs 10.10.1.10:/gv1 /mnt运维操作# 启动/关闭/查看glusterd服务 /etc/init.d/glusterd start /etc/init.d/glusterd stop /etc/init.d/glusterd status# Brick管理 gluster peer probe <SERVER> # 存储池添加服务器节点 gluster peer detach <SERVER> # 为存储池移除服务器节点 gluster volume add-brick gv1 10.10.1.10:/export/brick1/2 10.10.1.11:/export/brick1/2 # 列出集群中的所有卷: gluster volume list # 查看卷信息 gluster volume info # 查看卷信息 gluster volume status [all] # 查看卷状态 #创建/启动/停止/删除卷 gluster volume start <VOLNAME> # 创建卷 gluster volume stop <VOLNAME> # 停止卷 gluster volume delete <VOLNAME> # 删除卷 # 修复卷 gluster volume heal mamm-volume # 只修复有问题的卷 gluster volume heal mamm-volume full # 修复所有文件 gluster volume heal mamm-volume info # 查看自愈详情 # 数据重新分配 gluster volume rebalance datavolume1 start gluster volume rebalance datavolume1 status gluster volume rebalance datavolume1 stop # 卸载GlusterFS磁盘 gluster peer detach idc1-server4 # 删除GlusterFS磁盘 gluster volume stop datavolume1 gluster volume delete datavolume1 # 扩展卷 gluster volume add-brick <VOLNAME> <NEW-BRICK>构建Ceph分布式存储系统基础环境配置安装pve并安装cephpvecm create myclusters pvecm add (主机1 IP地址) # 主机二上执行 # 修改源 vi /etc/apt/sources.list # 打开后全部删除写入以下内容 ----------------------------------------------------------------------------------------- deb https://mirrors.aliyun.com/debian buster main contrib non-free deb https://mirrors.aliyun.com/debian buster-updates main contrib non-free deb https://mirrors.aliyun.com/debian-security buster/updates main contrib non-free deb https://mirrors.ustc.edu.cn/proxmox/debian/pve buster pve-no-subscription deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-octopus/ buster main ------------------------------------------------------------------------------------------ vi /etc/apt/sources.list.d/ceph.list # 打开后全部删除写入以下内容 deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-octopus/ buster main # 传递给主机2 scp -r /etc/apt/sources.list root@10.10.1.11:/etc/apt/sources.list安装ceph全部选择y修改vi etc/ceph/ceph.confvi /etc/ceph/ceph.conf # 修改public_network = 10.10.10.0/24创建ceph集群存储,两台主机均执行如下命令pveceph createmon # 创建Mon监控 pveceph createosd /dev/sdb # 创建ceph集群存储OSD服务创建poolsceph osd pool create myclusters 128 128 # 主机1执行添加RBD存储构建超融合架构基础环境配置修改所有虚拟机文件vi /etc/hosts 10.10.1.10 ceph-node1 10.10.1.11 ceph-node2 10.10.1.12 ceph-node3生成复制`ssh密钥ssh-keygen ssh-copy-id root@ceph-node2 ssh-copy-id root@ceph-node3禁用selinuxsetenforce 0 vi /etc/selinux/config sllinux->disablesd为所有服务器校时yum install -y ntp ntpdate ntpdate pool.ntp.org chkconfig ntpd on修改yum源,使用本地FTP源[centos] name=centos baseurl=file:///opt/centos gpgcheck=0 enabled=1 [iaas] name=iaas baseurl=file///opt/iaas-repo gpgcheck=0 enabled=1安装和配置Ceph创建ceph集群yum install ceph-deploy -y mkdir /etc/ceph cd /etc/ceph/ ceph-deploy new ceph-node1 ceph-deploy install ceph-node1 ceph-node2 ceph-node3查看版本信息ceph -v创建第一个Ceph monitor,并查看集群状态ceph-deploy --overwrite mon vreate-initial ceph -s创建OSD三个节点创建共享磁盘mkdir -p /opt/osd1 ssh ceph-node2 mkdir -p /opt/osd2 ssh ceph-node2 mkdir -p /opt/osd3在node1节点创建OSD节点ceph-deployosd prepare ceph-node1:/opt/osd1 ceph-node2:/opt/osd2 ceph-node3:/opt/osd3在node1激活节点ceph-deploy osd activate ceph-node1:/opt/osd1 ceph-node2:/opt/osd2 ceph-node3:/opt/osd3开放权限给其他节点,进行灾备处理ceph-deploy ceph-node1ceph集群运维ceph status # 查看安装状态 ceph -w # 查看健康状态 ceph quorum_status --format json-petty # 查看Ceph monitor仲裁状态 ceph mon dump # 导出Ceph monitor信息 ceph df # 检查集群使用状态 ceph mon stat # 检查Ceph monitor 状态 ceph osd stat # 检查OSD状态 ceph pg stat # 检查PG配置组状态
2021年11月12日
28 阅读
1 评论
0 点赞