2019-11-08 14:04:14 qq_27575895 阅读数 81

在实际Linux操作中,会把data盘挂载带硬盘上,而不是放在系统盘中,毕竟系统盘存储一般不是很大,

首先查看当前通过系统识别到的盘

fdisk -l 

可以看到各个盘下的大小和分区信息,

通过上面可以看到 /dev/sdb下有9T大小的内存 ,所以选择把data目录挂载到该磁盘上 

通过lsblk查看

首先在根目录下创建data文件夹 

mkdir /data

然和格式化磁盘 /dev/sdb 

mkfs.ext4 /dev/sdb

格式化后开始挂载 

mount /dev/sdb /data

将挂载信息执行开机自启动,采用 如下命令,只能执行一次 

cat /etc/mtab | grep /data >> /etc/fstab

执行完后查看当前的挂载情况 

data盘的挂载就完成啦 

 

2017-11-19 21:38:13 kaylin2017 阅读数 296

客户需求

  • 对windows 7 磁盘未分区对部分,变成一块新分区挂在我的电脑上

解决方法

C:\Windows\System32\cmd.exe /C 
setlocal disabledelayedexpansion & >tempfile.bat 
echo (echo list disk)^|diskpart^|findstr "磁盘.[0-9]"^|find /c "磁盘" ^> diskAmount & >>tempfile.bat 
echo set /p str=^<diskAmount & >>tempfile.bat 
echo del /s /q diskAmount & >>tempfile.bat 
echo set /a diskNum=%str%-1 & >>tempfile.bat 
echo echo select disk %diskNum% ^>temp.f2c & >>tempfile.bat 
echo echo detail disk ^>^>temp.f2c & >>tempfile.bat 
echo diskpart /s temp.f2c^|findstr "没有卷"^|find /c "没有卷" ^> detailDisk & >>tempfile.bat 
echo set /p diskEmpty=^<detailDisk & >>tempfile.bat 
echo del /s /q detailDisk & >>tempfile.bat 
echo if %diskEmpty%==0 (exit) & >>tempfile.bat 
echo echo select disk %diskNum% ^>temp.f2c & >>tempfile.bat 
echo echo clean ^>^>temp.f2c & >>tempfile.bat 
echo echo convert gpt ^>^>temp.f2c & >>tempfile.bat 
echo echo create partition primary ^>^>temp.f2c & >>tempfile.bat echo echo format fs=ntfs quick ^>^>temp.f2c & >>tempfile.bat 
echo echo assign ^>^>temp.f2c & >>tempfile.bat 
echo diskpart /s temp.f2c ^>partitionResult.tmp 

  • 对Linux的新磁盘,添加到卷组里面,建立一个新的逻辑剧卷,mount在/data目录下
    解决方法
#!/bin/bash
function check_execution_result(){
        if [[ ! -z $RETVAL ]]; then
                unset RETVAL
        fi
        RETVAL=$?
        if [[ $RETVAL -ne 0 ]]; then
                echo execution failed! 
                exit $RETVAL
        else
                echo execution successfully! 
        fi
        unset RETVAL
}

echo "- - -" >/sys/class/scsi_host/host0/scan
echo "- - -" >/sys/class/scsi_host/host1/scan
echo "- - -" >/sys/class/scsi_host/host2/scan

ONLINE_SCSI_DISK_NEWADD=$(lsblk --all | grep disk | grep -v fd | awk '{print $1}'|sed -n '$p'| sed 's/ //g')
echo New Added SCSI Disk: $ONLINE_SCSI_DISK_NEWADD
VG_Name=$(vgdisplay | grep 'VG Name' | awk '{print $NF}')
ONLINE_SCSI_DISK_NEWADD_FILENAME="/dev/"$ONLINE_SCSI_DISK_NEWADD

LVM_OPERATION_DISK_FILENAME=$ONLINE_SCSI_DISK_NEWADD_FILENAME
pvcreate $LVM_OPERATION_DISK_FILENAME >/dev/null 2>&1
check_execution_result
vgextend $VG_Name $LVM_OPERATION_DISK_FILENAME >/dev/null 2>&1
check_execution_result
lvcreate $VG_Name  -l 100%FREE --name /dev/$VG_Name/lv_data
check_execution_result
mkfs.ext4 /dev/$VG_Name/lv_data
check_execution_result

if [ ! -d /data ];then
    mkdir /data
fi    
check_execution_result
mount /dev/$VG_Name/lv_data /data
check_execution_result
sed  '8a /dev/mapper/'$VG_Name'-lv_data /data                       ext4    defaults        1 1' /etc/fstab  
sed -i '8a /dev/mapper/'$VG_Name'-lv_data /data                       ext4    defaults        1 1' /etc/fstab  
check_execution_result


df -h
lsblk --all

注意:

对bat脚本,win7验证成功。对sh脚本,centos和redhat验证成功。
2018-10-03 15:00:59 qq_36590808 阅读数 1122

前言:因为之前安装系统放在了固态硬盘,所以filesystem占的空间小,安装几个软件空间就不够了,不得不从1T的磁盘中分区(至于怎么分区,你还是找大佬或者百度吧)

挂载

  1. 创建目录
    #sudo mkdir /media/data

    /media/data 只是一个中间过程暂时用的文件夹,你也可以不放在/media下

  2. 把/dev/sda3挂载到/media/data
    #sudo mount /dev/sda3 /media/data

     

  3. 同步/data到/media/data
    #sudo rsync -aXS /data/. /media/data/.

     

  4. 同步完成后重命名/data
    #sudo mv /data /data_xxx

     

  5. 新建文件夹 /data
    #sudo mkdir /data

     

  6. 取消挂载
    #sudo umount /dev/sda3

     

  7. 将/dev/sda3 挂载到/data
    #sudo mount /dev/sda3 /data

     

  8. 查看/dev/sda3的UUID
    #blkid
  9. 把UUID复制一下,修改/etc/fstab文件

    #vim /etc/fstab

    在文件最后添加   UUID=……………… /data ext4 nodev,nosuid 0 2

  10. 保存重启,并查看分区挂在情况。
    #df -h

     

  11. 确认一切正常之后删除/data_xxx
    #sudo rm -rf /data_xxx

     

 

 

 

 

2018-11-14 16:00:56 GUAN_GUAN_A 阅读数 37

Linux初见(练习机的分区)

我是一个初学Linux的菜鸟,我把一些我认为比较重要、不熟悉的知识点总结了下来

一. Linux的主机规划和磁盘分区
1) Linux所有数据以文件形式呈现,根目录的表示方法为一根斜线:/
比如查找文件:data
/hone/arod/dat (出来data是文件,其他为目录)
2) 挂载:进入该目录就可以读取该分区
3) 硬盘规划:
懒人分区:就是仅仅分出根目录和交换空间(/&swap),然后再预留一些剩余的磁盘供后续练习(不保险,根目录可能会整个损毁,挽救方面较为困难)

复杂一点的:分析主机未来用途,根据用途去分析较大容量的目录,以及读写较为频繁的目录,将这些目录分别独立出来,不和根目录放在一起,即便这些目录损毁也不会影响根目录。在默认的CentOS环境中,下面目录比较符合容量大且(或)读写频繁的目录:
/
/usr
/home
/var
Swap
4) 练习机分区:/,/boot,/home,swap
Swap不需要挂载,大小一般为物理空间的1.5~2倍
5)隐藏文件:文件名开头为小数点“.”的

2019-08-10 08:49:33 qq_43857510 阅读数 59

各内存分区的介绍

  • 系统内的程序分为程序段和数据段,具体也可以细分成以下几个部分:

    (1)text段,是代码段。用来存放程序代码的,通常是只读,可以直接在ROM或Flash中执行,无需加载到RAM。
    (2)data段,数据段。data用来存储已经初始化的全局变量和静态变量,是属于静态内存分配,是可读可写的。
    (3)bss段,是全局变量数据段。是用来存储未初始化的全局变量以及未初始化的静态变量,静态内存分配。
    (4)rodate段(read-only-data)是数据常量段,是用来存储数据常量,比如const定义的全局变量,宏定义的常量之类的,它是只读数据,因此存放在ROM中。
    (5)stack段,也就是栈,是用来存储参数变量和局部变量,由系统进行申请和释放,属于静态内存分配其操作方式也就是跟栈一样,具有先进先出的特点,可用于保存/恢复调用现场。
    (6)heap段是用来保存函数内部动态分配内存,由用户自行申请空间(malloc或者new)以及释放(free或delete)。

  • 注:个人拙见,希望有误的地方可以帮忙指正,一起交流学习!

没有更多推荐了,返回首页