iSCSI服务基础
Internet SCSI, 网际SCSI借口
一种基于C/S架构的虚拟磁盘技术
服务器提供磁盘空间,客户机连接并当成本地磁盘使用
iSCSI Qualified Name 名称规范
iqn.yyyy-mm.倒序域名:自定义标识
用来识别target裁判组,也用来识别客户机身份
服务端虚拟机Server0
划分分区/dev/vdb
[root@server0 ~]# fdisk /dev/vdb
安装服务端软件包
[root@server0 ~]# yum -y install targetcli
运行targetcli,进入交互式界面
//建立后端设备:/backstore/block create 后端存储名 实际设备路径
//建立磁盘组名称:/iscisi create 磁盘组的IQN名称
//将分区与箱子建立连接:/iscsi/磁盘组名/tpg1/luns create 后端存储路径
//指定提供服务的IP地址:/iscsi/磁盘组名/tpg1/portals create IP地址 端口号
//访问控制的设置:/iscsi/磁盘组名/tpg1/acls create 客户机IQN标识
[root@server0 ~]# targetcli
/> backstores/block create iscsi_nsd /dev/vdb1
/> /iscsi/ create iqn.2018-03.com.example:server0
/> /iscsi/iqn.2018-03.com.example:server0/tpg1/luns create /backstores/block/iscsi_nsd
/> /iscsi/iqn.2018-03.com.example:server0/tpg1/portals create 172.25.0.11 3260
/> /iscsi/iqn.2018-03.com.example:server0/tpg1/acls create iqn.2018-03.com.example:desktop0
重启服务
[root@server0 ~]# systemctl restart target #重启服务
[root@server0 ~]# systemctl enable target #开机自启
客户端虚拟机desktop0
安装客户端软件
[root@desktop0 ~]# yum repolist
[root@desktop0 ~]# yum -y install iscsi-initiator-utils.i686
设置客户端访问时生成的名字
[root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-03.com.example:desktop0
刷新客户端iqn名字
[root@desktop0 ~]# systemctl daemon-reload
[root@desktop0 ~]# systemctl restart iscsid #刷新IQN标识(可以没有d)
[root@desktop0 ~]# systemctl enable iscsid
加载iscsi共享存储,访问服务端(# man iscsiadm)
[root@desktop0 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 172.25.0.11 --discover
172.25.0.11:3260,1 iqn.2018-03.com.example:server0
[root@desktop0 ~]# systemctl restart iscsi
[root@desktop0 ~]# lsblk
数据库服务基础
构建数据库系统
什么是数据库:存放数据的仓库
表字段:表头
表记录:表内容,行
部署mariadb数据库服务器
RHEL7中的MariaDB相关包
-mariadb-server:提供服务端有关的系统程序
-mariadb:提供客户端及管理工具
端口:3306
搭建基本的数据库
安装mariadb-server
[root@server0 ~]# yum -y install mariadb-server.x86_64
开启数据库
[root@server0 ~]# systemctl restart mariadb
[root@server0 ~]# systemctl enable mariadb
进入MarisDB数据库,基本操作
[root@server0 ~]# mysql
MariaDB [(none)]> show databases; #列出数据库
MariaDB [(none)]> create database nsd; #新建数据库
MariaDB [(none)]> drop database nsd; #删除数据库
MariaDB [(none)]> use 数据库名; #使用选择数据库
MariaDB [(none)]> show tables; #列出数据库里有哪些表格
MariaDB [(none)]> exit;
设置MarisDB数据库管理员的密码
#mysql [-u用户名] [-p密码]
#mysqladmin [-u 用户名] [-p[旧密码]] password '新密码'
数据库root管理员与系统管理员root不是同一个用户
数据库管理员root:mysql库中user表
系统管理员root:/etc/passwd
[root@server0 ~]# mysqladmin -u root password '123'
[root@server0 ~]# mysql -u root -p123
禁止监听,只服务于本机
[root@server0 ~]# vim /etc/my.cnf
[mysqld]
skip-networking
导入数据库的数据
[root@server0 ~]# wget http://classroom.example.com/pub/materials/users.sql
[root@server0 ~]# mysql -u root -p123 nsd1802 < /root/users.sql
[root@server0 ~]# mysql -u root -p123
MariaDB [(none)]> use nsd1802; #使用选择数据库
MariaDB [nsd1802]> show tables; #列出数据库里有哪些表格
数据库用户授权设置
-grant 权限列表 on 数据库名.表名 to 用户名@客户机地址 identified by '密码';
MariaDB [(none)]>grant select on nsd1802.* to Raikon@localhost identified by '123';
表格的四种操作:增(insert)、删(delete)、改(update)、查(select)
MariaDB [nsd1802]> select * from location; #查看location表格内容
MariaDB [nsd1802]> select * from base; #查看base表格内容
查看表结构(适合大文件):desc 数据库名;
基本管理操作
[root@server0 ~]# mysql -u root -p123
MariaDB [(none)]> use nsd1802;
有条件的查询
MariaDB [nsd1802]> select * from base where password='solicitous' and id='3';
MariaDB [nsd1802]> select name from base where password='solicitous';
多表联合查询
有多少人的姓名时Barbara同时居住再Sunnyvale?
MariaDB [nsd1802]> select * from base,location where base.name='Barbara' and location.city='Sunnyvale' and base.id=location.id;
MariaDB [nsd1802]> select count(*) from base,location where base.name='Barbara' and location.city='Sunnyvale' and base.id=location.id; #加入统计
插入
MariaDB [nsd1802]> insert base values (6,'Barbara','321');
MariaDB [nsd1802]> select * from base;
MariaDB [nsd1802]> insert location values (6,'Sunnyvale');
MariaDB [nsd1802]> select * from location;
禁止空密码root用户访问mariadb数据库
MariaDB [nsd1802]> use mysql;
MariaDB [mysql]> select user,host,password from user;
MariaDB [mysql]> select user,host,password from user where password='';
MariaDB [mysql]> delete from user where password=''; #删除记录
MariaDB [mysql]> flush privileges; #刷新数据库策略
[root@server0 ~]# mysql -u root -h server0.example.com #测试网络登陆