存储
分区、挂载点、文件系统 ISCSI配置 第一步:在存储设备上创建 LUN 第二步:在主机端挂载 LUN
- 2T以上磁盘分区挂载
- 制作系统盘
- Linux磁盘分区和格式化
- 分区、格式化、挂载、卸载云硬盘
- 系统盘迁移到数据盘方法
- Linux 系统下无法卸载挂载的解决办法
- 跨平台文件共享samba安装教程
- cenots系统更改ssh远程端口方法
- Centos7 配置NFS文件共享服务
- 将SATA驱动器连接到SAS控制器
- 目录扩容
2T以上磁盘分区挂载
关键点
- 工 具:Parted
- 分区表:gpt
分区并挂载
- 使用 parted 命令分区磁盘 sdc
parted /dev/sdc
- 将分区表格式化为 GPT
mklable gpt
- 创建主分区并分配 2T容量
mkpart primary 0GB 2000GB
- 退出 parted
quit
- 格式化分区为 ext4文件系统
mkfs.ext4 /dev/sdc1
- 新建目录文件夹 /mnt/pve/sdc1
mkdir /mnt/pve/sdc1
- 把分区 /dev/sdc1挂载至 /mnt/pve/sdc1
mount /dev/sdc1 /mnt/pve/sdc1
- 永久挂载,在 /etc/fstab 添加条目【/dev/sdc1 /mnt/pve/sdc1 ext4 defaults 0 0】
nano /etc/fstab
- 查看挂在信息,【 pve-磁盘】
- 添加目录,【数据中心-存储-添加-目录】
- 目录信息
- ID:sdc1
- 目录:/mnt/pve/sdc1
- 内容:磁盘映像/ISO镜像/容器/VZump备份文件/容器/片段
制作系统盘
操作场景
本文档指导您制作本地或其他平台的 Linux 服务器系统盘镜像。
操作步骤
准备工作
制作系统盘镜像导出时,需要进行以下检查:
说明如果您是通过数据盘镜像导出,则可以跳过此操作。
检查 OS 分区和启动方式
检查系统关键文件
需检查的系统关键文件包括且不限于以下文件:
说明请遵循相关发行版的标准,确保系统关键文件位置和权限正确无误,可以正常读写。
/etc/grub2.cfg
: kernel 参数里推荐使用 uuid 挂载 root,其它方式(如 root=/dev/sda
)可能导致系统无法启动。挂载步骤如下:- 执行以下命令,获取
/root
的文件系统名称。df -TH
/root
文件系统名称为/dev/vda1
。 - 执行以下命令,获取 UUID。
blkid /dev/vda1
说明文件系统 UUID 不固定,请您定期确认及更新。例如,重新格式化文件系统后,文件系统的 UUID 将会发生变化。
- 执行以下命令,使用 VI 编辑器打开
/etc/fstab
文件。vi /etc/fstab
- 按 i 进入编辑模式。
- 将光标移至文件末尾,按 Enter,添加如下内容。结合前文示例则添加:
UUID=d489ca1c-xxxx-4536-81cb-ceb2847f9954 / ext4 defaults 0 0
- 按 Esc,输入 :wq,按 Enter。保存设置并退出编辑器。
- 执行以下命令,获取
/etc/fstab
:请勿挂载其它硬盘,迁移后可能会由于磁盘缺失导致系统无法启动。/etc/shadow
:权限正常,可以读写。
卸载软件
卸载会产生冲突的驱动和软件(包括 VMware tools、Xen tools、Virtualbox GuestAdditions 以及一些自带底层驱动的软件)。
检查 virtio 驱动
操作详情请参考 Linux 系统检查 Virtio 驱动。
安装 cloud-init
安装详情请参考 Linux 系统安装 cloud-init。
检查其它硬件相关的配置
上云之后的硬件变化包括但可能不限于:
- 显卡更换为 Cirrus VGA。
- 磁盘更换为 Virtio Disk,设备名为 vda、vdb。
- 网卡更换为 Virtio Nic,默认只提供 eth0。
查找分区和大小
执行以下命令,查看当前操作系统的分区格式,判断需要复制的分区以及大小。
mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
dev on /dev type devtmpfs (rw,nosuid,relatime,size=4080220k,nr_inodes=1020055,mode=755)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
/dev/sda1 on / type ext4 (rw,relatime,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
systemd-1 on /home/libin/work_doc type autofs (rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12692)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=39,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12709)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
configfs on /sys/kernel/config type configfs (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=817176k,mode=700,uid=1000,gid=100)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=100)
/dev/sda1
中,/boot
和 /home
没有独立分区,sda1 包含 boot 分区、缺少 mbr,我们只需复制整个 sda。注意
- 导出的镜像中至少需要包含根分区以及 mbr。如果导出的镜像缺少 mbr,将无法启动。
- 在当前操作系统中,如果
/boot
和/home
为独立分区,导出的镜像还需要包含这两个独立分区。
导出镜像
根据实际需求,选择不同的方式导出镜像。
您可选择 使用 qemu-img 命令 或 使用 dd 命令 其中一种方式导出镜像:
- 使用
qemu-img
命令 - 执行以下命令,安装所需包。本文以 Debian 为例,不同发行版的包可能不同,请对应实际情况进行调整。例如,CentOS 中包名为
qemu-img
。apt-get install qemu-utils
- 执行以下命令,将
/dev/sda
导出至/mnt/sdb/test.qcow2
。
其中,sudo qemu-img convert -f raw -O qcow2 /dev/sda /mnt/sdb/test.qcow2
/mnt/sdb
为挂载的新磁盘或者其他网络存储。
如果您需要转换成其他格式,请修改-O
的参数值。可修改的参数值如下:参数值 含义 qcow2 qcow2 格式 vpc vhd 格式 vmdk vmdk 格式 raw 无格式 - 使用
dd
命令
例如,执行以下命令,导出 raw 格式的镜像。
其中,sudo dd if=/dev/sda of=/mnt/sdb/test.imag bs=1K count=$count
count
参数即为需要复制分区的数量,您可以通过fdisk
命令查出该数量值。如果您需要全盘复制,count
参数则可以忽略。
例如,执行以下命令,查看/dev/sda
的分区数量。
返回类似如下结果:fdisk -lu /dev/sda
由Disk /dev/sda: 1495.0 GB, 1494996746240 bytes 255 heads, 63 sectors/track, 181756 cylinders, total 2919915520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x0008f290 Device Boot Start End Blocks Id System /dev/sda1 * 2048 41945087 20971520 83 Linux /dev/sda2 41945088 46123007 2088960 82 Linux swap / Solaris /dev/sda3 46123008 88066047 20971520 83 Linux /dev/sda4 88066048 2919910139 1415922046 8e Linux LVM
fdisk
命令的返回结果可得知,sda1 结束位置在41945087 * 512字节处,count
设置为20481M即可。
说明通过
dd
命令导出的镜像为 raw 格式,建议 转换为 qcow2,vhd 或者其他镜像格式。
转换镜像格式(可选)
参考 转换镜像镜像,使用 qemu-img
将镜像文件转换为支持的格式。
检查镜像
说明当您未停止服务直接制作镜像或者其它原因,可能导致制作出的镜像文件系统有误,因此建议您在制作镜像后检查是否无误。
当镜像格式和当前平台支持的格式一致时,您可以直接打开镜像检查文件系统。例如,Windows 平台可以直接附加 vhd 格式镜像,Linux 平台可以使用 qemu-nbd 打开 qcow2 格式镜像,Xen 平台可以直接启用 vhd 文件。本文以 Linux 平台为例,检查步骤如下:
- 依次执行以下命令,检查是否已有 nbd 模块。
modprobe nbd
lsmod | grep nbd
CONFIG_BLK_DEV_NBD
是否打开。如未开启,则需更换系统或打开CONFIG_BLK_DEV_NBD
编译选项后重编内核。 - 依次执行以下命令,检查镜像。
qemu-nbd -c /dev/nbd0 xxxx.qcow2
mount /dev/nbd0p1 /mnt
qemu-nbd
命令后,/dev/nbd0
就映射了xxx.qcow2
中的内容。而/dev/nbd0p1
代表该虚拟磁盘的第一个分区,若 nbd0p1 不存在或 mount 不成功,则很可能是镜像错误。
此外,您还可以在上传镜像前,先启动云服务器测试镜像文件是否可以使用。
Linux磁盘分区和格式化
简介
一般说到磁盘分区及格式化有部分人还是会比较陌生的,特别是在Linux下没有windows中的各种大师,将会显得比较无助,让人感觉难以触摸。那么本文将对磁盘的分区以及格式化进行分步讲解,让你逐步了解将一块初始化的磁盘给你,你要如何变成你自己能够使用的文件分区。
(PS: 本文运行环境是美团云的机器,系统是CentOS 6.5,挂载1T的云硬盘,本文将针对一块全新的未格式化10G的云硬盘进行分区格式化处理。)
命令了解
首先我们来对将要用到的一些命令进行熟悉
命令:fdisk
功能:查看磁盘使用情况和分割磁盘
使用方法:
在 console 上输入 fdisk -l /dev/sda ,观察硬盘使用情况
在 console 上输入 fdisk /dev/sda,可进入分割硬盘
1. 输入 m 打印各命令的菜单。
2. 输入 p 打印硬盘分区列表。
3. 输入 a 设定硬盘启动区。
4. 输入 n 创建一个新的分区。
4.1. 输入 e 硬盘为[延伸]分割区(extend)。
4.2. 输入 p 硬盘为[主要]分割区(primary)。
5. 输入 t 改变硬盘分割区属性。
6. 输入 d 删除硬盘分割区属性。
7. 输入 q 不保存退出。
8. 输入 w 保存退出。
命令: mkfs
功能: 格式化硬盘
格式: mkfs –t 文件系统类型 分区设备
参数:
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该partition 是否有坏轨
-v : 详细显示模式
首先我们执行一下fdisk -l来查看目前已有磁盘的情况
[root@jx-web:~]# fdisk -l
Disk /dev/vda: 26.8 GB, 26843545600 bytes
255 heads, 63 sectors/track, 3263 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000bce79
Device Boot Start End Blocks Id System
/dev/vda1 * 1 3264 26213376 83 Linux
Disk /dev/vdb: 34.4 GB, 34359738368 bytes
255 heads, 63 sectors/track, 4177 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00062e8c
Device Boot Start End Blocks Id System
/dev/vdb1 1 4177 33551721 82 Linux swap / Solaris
Disk /dev/vdc: 1073.7 GB, 1073741824000 bytes
16 heads, 63 sectors/track, 2080507 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0902eabd
Device Boot Start End Blocks Id System
/dev/vdc1 1 2080507 1048575496+ 83 Linux
Disk /dev/vdd: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
其中各个项的具体含义如下:
- Device:分区的设备文件名称。
- Boot:是否是引导分区,是,则带有“*”标识。
- Start:该分区在硬盘中的起始位置(柱面数)。
- End:该分区在硬盘中的结束位置(柱面数)。
- Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节。
- Id:分区类型的ID标记号,对于EXT4分区为83,LVM分区为8e。
- System:分区类型。
然后我们可以看到我的机器系统分区26.8G,然后swap是34.4G,还有1T的硬盘,我们可以看到这些磁盘分别都有挂载点的,所以这些是已经分好区了的,可以看到最后一块10G的硬盘(/dev/vdd)就是我们今天的目标硬盘了,接下来开始动刀子了~~
[root@jx-web ~]# fdisk /dev/vdd
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x2e355a48.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help):
在操作界面中的“Command (m for help):”提示符后,用户可以输入特定的分区操作指令,完成各项分区管理任务。例如输入“m”指令后,可以查看各种操作指令的帮助信息。具体帮助信息就不在展示了哈,常用的指令也在开头为大家介绍了。
接下来输入“n”开始分区
Command (m for help): n
Command action
e extended
p primary partition (1-4)
这里是选择扩展分区或者主分区,我们直接选择p主分区(当选择e扩展分区之后,该分区是不能直接格式化的,只能格式化主分区和逻辑分区,所以这个时候我们只能再次进行逻辑分区,当再次对扩展分区进行分区的时候是可以选择逻辑分区的,下面我们将会为大家讲解扩展分区的创建)
选择p主分区之后我们继续~~
Partition number (1-4): 1
First cylinder (1-20805, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-20805, default 20805): +5G
Command (m for help):
选择分区号时,主分区和扩展分区的序号只能在1~4之间。分区起始位置一般由fdisk默认识别即可,结束位置或大小可以使用“+size(K、M、G)”的形式,如“+size5G”表示将该分区的容量设置为5GB。cylinder是指定分区的开始柱面,建议默认1开始。
分区结束之后,可以输入p查看创建好的分区/dev/vdd1
Command (m for help): p
Disk /dev/vdd: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x19652849
Device Boot Start End Blocks Id System
/dev/vdd1 1 10404 5243584+ 83 Linux
下面为大家继续演示逻辑分区的创建,创建逻辑分区之前首先需要创建扩展分区,而且必须把所有剩余空间全部分给扩展分区。
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 4
First cylinder (10405-20805, default 10405):
Using default value 10405
Last cylinder, +cylinders or +size{K,M,G} (10405-20805, default 20805):
Using default value 20805
Command (m for help): p
Disk /dev/vdd: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x19652849
Device Boot Start End Blocks Id System
/dev/vdd1 1 10404 5243584+ 83 Linux
/dev/vdd4 10405 20805 5242104 5 Extended
扩展分区创建好之后,接着就可以创建逻辑分区。在创建逻辑分区的时候就不需要指定分区编号了,系统将会自动从5开始顺序编号。
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (10405-20805, default 10405):
Using default value 10405
Last cylinder, +cylinders or +size{K,M,G} (10405-20805, default 20805): +2G
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (14567-20805, default 14567):
Using default value 14567
Last cylinder, +cylinders or +size{K,M,G} (14567-20805, default 20805):
Using default value 20805
Command (m for help): p
Disk /dev/vdd: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x19652849
Device Boot Start End Blocks Id System
/dev/vdd1 1 10404 5243584+ 83 Linux
/dev/vdd4 10405 20805 5242104 5 Extended
/dev/vdd5 10405 14566 2097616+ 83 Linux
/dev/vdd6 14567 20805 3144424+ 83 Linux
到目前为止我们完成了这块硬盘的分区,我们分了3区,一个主分区,2个逻辑分区,接下来我们输入w进行保存并退出,或者输入q则不会记录本次分区的记录。
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
硬盘分区设置完成以后,一般需要将系统重启以使设置生效,如果不想重启系统,可以使用“partprobe”命令使操作系统获知新的分区表情况。(如果没有partprobe的话,CentOS用户可以尝试“yum install parted”进行安装)。
如果需要删除已创建好的分区,可以在fdisk命令操作界面中使用“d”指令将指定的分区删除,根据提示输入需要删除的分区序号即可。在删除时建议从最后一个分区开始进行删除,以免fdisk识别的分区序号发生紊乱。另外,如果扩展分区被删除,则扩展分区之下的逻辑分区也将同时被删除。
格式化分区
分区创建好之后,还必须要经过格式化才能使用,格式化分区的主要目的是在分区中创建文件系统。Linux专用的文件系统是ext,包含ext2、ext3、ext4等诸多版本,在RHEL6中默认使用的是ext4。另外,Linux也支持Windows中的FAT32文件系统,在Linux中表示为vfat。
下面我们将对/dev/vdd1格式化为ext4文件系统,同时检查是否有坏轨存在,并且将过程详细列出来
[root@jx-web ~]# mkfs -V -t ext4 -c /dev/vdd1
mkfs (util-linux-ng 2.17.2)
mkfs.ext4 -c /dev/vdd1
mke2fs 1.41.12 (17-May-2010)
警告: 176 块未使用.
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
328320 inodes, 1310720 blocks
65544 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8208 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Checking for bad blocks (read-only test): 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
将/dev/vdd5格式化为fat32文件系统。
[root@jx-web ~]# mkfs -t vfat /dev/vdd5
mkfs (util-linux-ng 2.17.2)
mkfs.vfat /dev/vdd5
mkfs.vfat 3.0.9 (31 Jan 2010)
(如果执行过程打印
mkfs (util-linux-ng 2.17.2)
mkfs.vfat /dev/vdd5
mkfs.vfat: 没有那个文件或目录
那么是你的环境没有安装dosfstools,运行一下“yum install dosfstools”再次格式化就好了)
[root@jx-web ~]# mkfs.ext4 /dev/vdd6
具体打印就不显示了哈~~
到现在为止,我们格式化完成,再来看一下分好的区
Disk /dev/vdd: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x19652849
Device Boot Start End Blocks Id System
/dev/vdd1 1 10404 5243584+ 83 Linux
/dev/vdd4 10405 20805 5242104 5 Extended
/dev/vdd5 10405 14566 2097616+ 83 Linux
/dev/vdd6 14567 20805 3144424+ 83 Linux
文件系统的挂载
在安装Linux系统的过程中,自动建立或识别的分区通常会由系统自动完成挂载,如“/”分区、“boot”分区等,对于后来新增加的硬盘分区、优盘、光盘等设备,就必须由管理员手动进行挂载。挂载一个分区时,必须为其指定一个目录作为挂载点,用户通过这个目录就可以访问设备中的文件、目录数据。
磁盘分好区格式化好了,接下来就是要使用了~~
临时挂载:
[root@jx-web ~]# mkdir /data1 /data2 /data3
[root@jx-web ~]# mount /dev/vdd1 /data1
[root@jx-web ~]# mount /dev/vdd5 /data2
[root@jx-web ~]# mount /dev/vdd6 /data3
[root@jx-web ~]# df -hT //查看挂载情况
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 25G 4.3G 20G 19% /
tmpfs tmpfs 16G 72K 16G 1% /dev/shm
/dev/vdc1 ext4 985G 23G 912G 3% /opt
/dev/vdd1 ext4 4.8G 10M 4.6G 1% /data1
/dev/vdd5 vfat 2.0G 4.0K 2.0G 1% /data2
/dev/vdd6 ext4 2.9G 4.5M 2.8G 1% /data3
永久挂载:
[root@jx-web ~]# vim /etc/fstab
/dev/vdd1 /data1 ext4 defaults 0 0
/dev/vdd5 /data2 vfat defaults 0 0
/dev/vdd6 /data3 ext4 defaults 0 0
到此为止本文为大家介绍了一块磁盘从原始状态到一块在文件系统中可以使用的磁盘,今天就为大家介绍到这里。
(PS: 本文运行环境是美团云的机器,系统是CentOS 6.5,挂载1T的云硬盘,本文将针对一块全新的未格式化10G的云硬盘进行分区格式化处理。)
分区、格式化、挂载、卸载云硬盘
Linux系统(以CentOS 6.5为例)
查看数据盘
在没有分区和格式化数据盘之前,使用“df -h”命令无法看到数据盘,可以使用“fdisk -l”命令查看。
数据盘分区
执行“fdisk /dev/vdd”命令(请注意数据盘符,这里以vdd为例,若是其他盘符,仅需将vdd替换为该盘符即可),根据提示依次输入“n”,“p”,“1”,“2次回车”,“wq”。
说明:对于2T以上的大硬盘,只能用parted命令分区。
使用"fdisk -l"命令可以看到你的新建分区。
格式化新分区(制作文件系统)
使用"mkfs.ext4 /dev/vdd1"命令对新分区进行格式化(制作文件系统)。此命令里面制作的是ext4文件系统,你可以根据自己的需要选择相应文件系统
添加分区信息
使用“echo '/dev/vdd1 /mnt ext4 defaults 0 0' >> /etc/fstab”添加分区信息。如需挂载磁盘到特定的挂载点,需要修改“/mnt” 部分。
然后使用“cat /etc/fstab”命令查看。
注:ubuntu12.04不支持barrier,所以正确写法是:echo '/dev/vdd1 /mnt ext4 barrier=0 0 0' >> /etc/fstab
挂载新分区
使用“mount -a”命令挂载新分区,然后用“df -h”命令查看
卸载文件系统
使用“umount ”命令卸载磁盘
找到云硬盘的挂载点,使用umount命令卸载。
系统盘迁移到数据盘方法
当客户自己在尊云官网自行购买Centos/Ubuntu/Debian系统的机器,可能会出现没有在挂载数据盘直接安装在系统盘情况,又或者系统初始化自动挂载在其他目录上。建议大家都把数据存放在数据盘下
出现这种情况一般是建议客户转移到数据盘上的。今天讲解下怎么转移的方法
1.下面为安装宝塔在系统盘的机器先查看分区,是没有分区并安装了linux面板的
2.接着执行netstat -lnpt 回车看下安装的服务
这台机器我只安装了宝塔只需要执行service bt stop 回车关闭bt服务(如果有在宝塔安装其他服务的也需要关闭)
3.然后执行mv /www /wwwbak 回车 把www目录改名成wwwbak(这边目录名字可以随意改 自己喜欢就行
4. 执行mkdir /www 创建新的www目录并分区挂载数据盘到www下(挂载的步骤这边就不详细说了 可以参考下http://www.tieww.com/2014/09/24/72.html)
下面已经挂载好数据库到/www
4. mv /wwwbak/* /www/ 回车把wwwbak里的数据全部转移到www下
5. 然后启动bt服务器 到此结束
Linux 系统下无法卸载挂载的解决办法
在日常运维中经常性会遇到需要进行磁盘的扩容、卸载、挂载等操作,但是有时候这个系统上跑的应用并没有停止或者有其他的运维同事在操作这个目录,这个时候我们是无法直接umount卸载掉的,所以今天就给大家分享一下如果遇到这种问题了,我们如何去合理的处理?
现象描述:这里我们需要将/www目录卸载掉,如下图所示:
执行卸载命令:umount /www后,发现卸载不了,提示资源被占用,如下图所示:
上面我们已经看到了,提示被占用,无法卸载,如何处理呢?方法很简单,可以使用umount -f /www强制卸载
-f 参数为强制进行卸载,上面使用的强制卸载并未生效,还是报错了,现在使用fuser命令查看有哪些进程在占用目录
查看到有很多进程目前在占用此目录,所以无法卸载,现在有两种方法结束这些进程。
第一种:平时常用到的kill -9 进程号
第二种:结束目录中的所有进程fuser -m -v -i -k /www
umount /www 再次卸载,已经没有报错了
df -h 查看这个设备已经卸载掉
教程完毕,希望该教程能让你get到新技能 后期在使用尊云服务器有什么问题随时咨询我们尊云售后服务团队。
跨平台文件共享samba安装教程
使用Samba服务可以方便快捷的实现Linux与Windows之间的文件共享
本文使用系统为CentOS 7和Windows Server 2008,其它版本系统略有差异,请以实际情况为准
服务端配置(CentOS 7)
步骤一:安装samba服务端程序
执行yum install samba -y安装samba服务程序及其依赖组件。
步骤二:创建共享文件及验证所需用户
命令解析:分别创建出拥有不同共享权限的文件及用户
user01和user02均对/samba目录下的所有文件拥有读取权限;同时user02还拥有对/samba/dir02的写入权限。
useradd命令添加用户;-c 参数指定/etc/passwd文件中该用户的备注信息;添加-M参数使创建用户时,不在/home下创建出该用户的默认家目录
步骤三:编辑SAMBA服务配置文件
将以下内容追加到/etc/samba/smb.conf中
comment: 该共享的描述信息
path: 指定共享文件夹的路径
browseable: 指定该共享是否可见
read only: 指定是否为只读
write list: 指定拥有写入权限的用户列表
实现效果:
/samba目录下的所有文件作为share00被共享,通过验证的用户对其具有读取权限
/samba/dir01目录下的所有文件作为share01被共享,通过验证的用户对其具有读取权限
/samba/dir02目录作为share02被共享,用户user02对其拥有读取和写入权限
步骤四:配置SAMBA服务身份验证
命令解析:smbpasswd -a user01
新添加user01到samba的数据库中;回车后,两次输入密码完成添加(注:此处输入密码无回显)
步骤五:配置系统selinux策略
执行getenforce获取当前selinux状态:
enforcing:启用状态
permissive:启用状态,但是仅打印出警告信息
disabled:禁用状态
若当前为permissive或disabled,可忽略以下内容,从步骤六继续;
若为enforcing状态,则需配置selinux策略;
方法一:执行setenforce 0临时关闭selinux,重启后失效;
亦可执行完该命令后,修改/etc/selinux/config文件中SELINUX的值为disabled,系统重启后会自动关闭selinux
方法二
命令解析:semanage:修改指定文件的selinux上下文
restorecon:使修改后的selinux能在重启后仍然有效
setsebool:修改指定的selinux域策略的值
(若semanage命令执行后报错command not found;需执行yum install policycoreutils-python -y安装相关组件)
步骤六:配置系统防火墙
执行systemctl status firewalld获取防火墙运行状态
若防火墙处于启用状态,需放行samba mountd两个服务,并重载配置使添加的放行策略生效
步骤七:重启Samba服务
执行systemctl restart smb nmb重启samba服务
客户端测试(Windows Server 2008)
步骤一:打开cmd工具,访问目标主机
在cmd中执行explorer \\192.168.7.120
192.168.7.120为服务端主机IP,根据实际情况而定
步骤二:输入验证信息访问共享资源
步骤三:成功访问共享资源
cenots系统更改ssh远程端口方法
修改远程端口是为了更安全避免不必要的麻烦,黑客常常利用默认的远程端口进
行入侵,恰好你设置的是弱口令密码,那么就很容易被爆破入侵,因此有必要学会更改远程端口号,增加一道安全保障。
第一步:修改ssh配置文件
vi /etc/ssh/sshd_config
找到 #Port 22,默认端口22,需要把前面#去掉把22修改为其他,1-65535范围内
第二步:防火墙中放行修改后的端口
firewall-cmd --add-port=10110/tcp --permanent #防火墙中放行10110端口
firewall-cmd --reload #防火墙重新加载配置
Centos6版本放行端口:
iptables -I INPUT -p tcp --dport 10110 -j ACCEPT
第三步:重启sshd服务
systemctl restart sshd
Centos6版本使用service sshd restart 重启sshd服务
Centos7 配置NFS文件共享服务
闻公告
本文使用系统为CentOS7,其他Linux发行版部分命令略有差异,以实际情况为准
步骤一:在服务端创建共享目录及测试文件
命令解析:在根目录下创建出/nfsdir/dir01及/nfsdir/dir02两个目录,并分别写入两个readme文件。
步骤二:安装依赖包
执行yum install nfs-utils -y,安装NFS服务所需的相关组件。
步骤三:编辑NFS服务程序的配置文件
配置文件路径:/etc/exports
将以下内容写入到nfs服务的配置文件中
/nfsdir/dir01 192.168.7.*(ro)
/nfsdir/dir02 192.168.7.*(rw,no_root_squash)
配置文件详解:
/nfsdir/dir01 目标文件或文件夹
192.168.7.* 指定允许访问该NFS资源的主机IP(请以实际情况为准)
(ro) 仅允许对目标资源执行读取操作
(rw,no_root_squash) 允许对目标资源执行读取和写入操作(以root用户身份)
步骤四:配置服务端系统防火墙
执行systemctl status firewalld 查看防火墙运行状态。
状态一:防火墙处于关闭状态,无需配置,直接进入步骤五。
状态二:防火墙处于开启状态,需添加放行策略。
命令解析:在永久生效模式下放行nfs, rpc-bind, mountd,并重载防火墙配置,使添加的策略立即生效。
步骤五:在客户端系统上创建挂载点及进行挂载操作
命令解析:在/mnt目录下创建出dir01和dir02两个挂载点
使用mount命令将服务端的共享资源挂载到对应的目录
192.168.7.120 服务端IP
:/nfsdir/dir01 服务端的共享资源路径
步骤六:测试
命令解析:分别使用cat 命令读取两个文件中的内容,均能够正常读取。
分别覆盖两个文件中的内容:
dir01目录挂载的是仅读取的共享资源,覆盖报错;
dir02目录挂载的是允许读取及写入的资源,覆盖成功。
使用cat命令查看dir02目录下修改后的文件内容。
NFS使用得比较多可能是用于网站高可用架构里面的共享储存方案,简单维护方便。
将SATA驱动器连接到SAS控制器
-
SATA驱动器可以插入SAS控制器。
-
SAS驱动器无法插入SATA控制器。
SAS和SATA连接器之间存在差异,两者都包括电源和数据。在SATA驱动器上,电源和数据是分开的,而SAS驱动器是统一的。见图:
在选择驱动器时,请记住,并非所有驱动器都用于任何给定的环境。有许多因素需要考虑,包括设备将在哪里和如何使用,将使用哪些应用程序,需要哪些必要要求,以及所需的容量水平、性能、可靠性或速度。
例如,如果您打算在24x7环境中使用驱动器,桌面驱动器并不理想,因为它不是为不间断运行而设计的。
从性能的角度来看,SATA驱动器将无法与SAS驱动器的性能相匹配。SAS驱动器的性能超过SATA驱动器。此外,SAS驱动器专为持续使用而设计。另一方面,SATA驱动器的价格通常更高。
目录扩容
[root@aioCloud ~]# lsblk #查看硬盘容量
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 17.5G 0 part /
sr0 11:0 1 918M 0 rom
[root@aioCloud ~]# df -Th #查看目录容量
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 18G 994M 17G 6% /
devtmpfs devtmpfs 476M 0 476M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.6M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 120M 378M 25% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
[root@aioCloud ~]# fdisk /dev/sda #对sda这块硬盘操作
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p #打印现有分区
Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0000ca56
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 5220351 2097152 82 Linux swap / Solaris
/dev/sda3 5220352 41943039 18361344 83 Linux
Command (m for help): d #删除分区
Partition number (1-3, default 3): 3 #删除第3块硬盘
Partition 3 is deleted #第3块硬盘已删除
Command (m for help): n #新建1个分区
Partition type:
p primary (2 primary, 0 extended, 2 free) #主分区
e extended #扩展分区
Select (default p): p #选择主分区
Partition number (3,4, default 3): #默认是3
First sector (5220352-83886079, default 5220352): #默认是5220352
Using default value 5220352
Last sector, +sectors or +size{K,M,G} (5220352-83886079, default 83886079): #默认到最大
Using default value 83886079
Partition 3 of type Linux and of size 37.5 GiB is set #已经设置了第3分区为37.5G
Command (m for help): p #再次打印分区
Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0000ca56
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 5220351 2097152 82 Linux swap / Solaris
/dev/sda3 5220352 83886079 39332864 83 Linux #第3个分区已经扩容
Command (m for help): w #保存所有设置
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@aioCloud ~]# partprobe /dev/sda #刷新sda,通知它硬盘分区发生了变化
[root@aioCloud ~]# lsblk #查看实际的变化情况
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 37.5G 0 part /
sr0 11:0 1 918M 0 rom
[root@aioCloud ~]# df -Th #再次查看目录,未更新
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 18G 994M 17G 6% /
devtmpfs devtmpfs 476M 0 476M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.6M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 120M 378M 25% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
[root@aioCloud ~]# xfs_growfs /dev/sda3 #使用xfs_growfs对sda3进行同步
meta-data=/dev/sda3 isize=512 agcount=4, agsize=1147584 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=4590336, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 4590336 to 9833216
[root@aioCloud ~]# df -Th #同步结束后再次查看目录容量情况
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 38G 994M 37G 3% /
devtmpfs devtmpfs 476M 0 476M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 7.6M 479M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 120M 378M 25% /boot
tmpfs tmpfs 98M 0 98M 0% /run/user/0
[root@aioCloud ~]#reboot #最后确定没问题重启测试